2015-05-19 28 views
1

这是我在我的iOS8上斯威夫特应用程序录制音频代码:Xcode的记录不工作

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中进行录制。

现在我想在我已经在上面的代码转换的文件扩展名从.CAF.AAC并交换价值AVFormatIDKey:kAudioFormatAppleIMA4kAudioFormatMPEG4AAC,但这些设置不记录任何AAC格式进行录制。我想改变一些其他的设置,以使AAC录音工作?

记住我的目标是一个格式,它是Mac/WIN /浏览器容易可玩

+0

您是否尝试过使用扩展名.m4a保存它? –

+0

@Leonardo Savio Dabus:无效:'OSStatus错误1685348671.' – Kashif

回答

2

我想通了自己的记录。我必须删除以下行.AAC格式才能正常工作:

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