以AAC格式录制的xCode无法正常工作

时间:2015-05-19 17:30:43

标签: ios xcode swift audio-recording

以下是我在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中的值切换为{ {1}}但这些设置无法记录任何内容。我是否也想更改其他设置以使AAC录音工作?

请记住,我的目标是以可在mac / win / browser

上播放的格式进行录制

1 个答案:

答案 0 :(得分:2)

我自己想通了。我必须删除下面的.AAC格式才能工作:

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