我建立一个应用程序,其中的功能之一是记录语音消息我想采样格式的16位PCM,但我似乎无法得到它的权利。 我已经试过很多不同势设置,但每次我检查厚颜无耻的文件时,它说,32位浮点。
这是我目前recorderSettings
var recorderSettings = [NSObject: AnyObject]()
recorderSettings[AVFormatIDKey] = kAudioFormatALaw
recorderSettings[AVSampleRateKey] = 16000
recorderSettings[AVNumberOfChannelsKey] = 1
recorderSettings[AVLinearPCMBitDepthKey] = 16
recorderSettings[AVLinearPCMIsFloatKey] = false
所以,我发现我需要kAudioFormatLinearPCM而不是kAudioFormatALaw问题
我想,前后来我只检查与大胆的格式,并将其报告回32位浮点。 但看完大教堂布赖恩的答案后,我用file命令检查一遍,并汇报了正确的格式。
所以正确的配置会
var recorderSettings = [NSObject: AnyObject]()
recorderSettings[AVFormatIDKey] = kAudioFormatLinearPCM
recorderSettings[AVSampleRateKey] = 16000
recorderSettings[AVNumberOfChannelsKey] = 1
recorderSettings[AVLinearPCMBitDepthKey] = 16
recorderSettings[AVLinearPCMIsFloatKey] = false
尝试寻找到大胆设置。 它的喜好32bit的灵活性,然后建议在16位的出口。 您的代码看起来不是错了,所以尝试大胆或不同的程序搞乱。
这里是一个大胆的喜好链接: http://audacity.sourceforge.net/onlinehelp-1.2/prefs.htm