IOS 8 AVAudioRecorder更改样本格式

时间:2015-03-03 15:25:59

标签: swift ios8 audio-recording

我正在构建一个应用程序,其中一个功能是录制语音消息我想要样本格式16位PCM,但我似乎无法正确。 我已经尝试了很多不同的设置,但每次我用audacity检查文件时都会说32位浮点数。

这是我目前的记录器设置

var recorderSettings = [NSObject: AnyObject]()
recorderSettings[AVFormatIDKey] = kAudioFormatALaw
recorderSettings[AVSampleRateKey] = 16000
recorderSettings[AVNumberOfChannelsKey] = 1
recorderSettings[AVLinearPCMBitDepthKey] = 16
recorderSettings[AVLinearPCMIsFloatKey] = false

2 个答案:

答案 0 :(得分:2)

所以我发现问题我需要kAudioFormatLinearPCM而不是kAudioFormatALaw

我之前尝试过,但之后我只检查了大胆的格式,并报告了32位浮点数。但在阅读了Dom Bryan之后,我再次使用file命令检查了它,并报告了正确的格式。

所以正确的配置将是

var recorderSettings = [NSObject: AnyObject]()
recorderSettings[AVFormatIDKey] = kAudioFormatLinearPCM
recorderSettings[AVSampleRateKey] = 16000
recorderSettings[AVNumberOfChannelsKey] = 1
recorderSettings[AVLinearPCMBitDepthKey] = 16
recorderSettings[AVLinearPCMIsFloatKey] = false

答案 1 :(得分:1)

尝试查看大胆设置。它偏好32位灵活性,然后建议以16位出口。您的代码看起来不错,因此请尝试使用大胆或不同的程序。

以下是大胆的偏好链接:http://audacity.sourceforge.net/onlinehelp-1.2/prefs.htm