xCode 无法以 AAC 格式录制

xCode recording in AAC format not working

这是我在 iOS8 Swift 应用程序中录制音频的代码:

var fileName = "/SFRecording-" + String(recordingSequence) + ".caf"
var str =  storageLocation + fileName
var url = NSURL.fileURLWithPath(str as String)

audioSession.setCategory(AVAudioSessionCategoryRecord, error: nil)
audioSession.setActive(true, error: nil)

var recordSettings = [
    AVFormatIDKey:kAudioFormatAppleIMA4,
    AVSampleRateKey:44100.0,
    AVNumberOfChannelsKey:2,
    AVEncoderBitRateKey:12800,
    AVLinearPCMBitDepthKey:16,
    AVEncoderAudioQualityKey:AVAudioQuality.Max.rawValue
]
    var error: NSError?

    realRecorder = AVAudioRecorder(URL:url, settings: recordSettings as [NSObject : AnyObject], error: &error)

它工作正常,但生成的 CAF 文件在 windows 系统上无用。我想以 MP3 等更熟悉的格式进行录制,但由于许可问题,您不能使用 iOS。

现在我想以 AAC 格式记录,我已在上面的代码中将文件扩展名从 .CAF 切换为 .AAC,并且还在 AVFormatIDKey:kAudioFormatAppleIMA4 中切换了值kAudioFormatMPEG4AAC 但这些设置无法记录任何内容。我是否也应该更改一些其他设置以使 AAC 录音正常工作?

记住我的 objective 是以一种可以在 mac/win/browser

上轻松播放的格式进行录制

我自己想出来了。我必须删除以下行才能使 .AAC 格式正常工作:

AVSampleRateKey:44100.0,
AVNumberOfChannelsKey:2,
AVEncoderBitRateKey:12800,
AVLinearPCMBitDepthKey:16,