在iOS中记录16bps波形文件

时间:2012-06-23 18:30:49

标签: objective-c ios avfoundation flac

我正在尝试录制wave文件,然后将此文件转换为iOS中的flac。但是,libflac库总是给我以下错误:

  

无效/不支持的WAVE文件,只允许规范形式的16bps立体声WAVE

如何使用此类属性录制文件?这些是我目前使用的属性:

AVFormatIDKey = kAudioFormatLinearPCM
AVSampleRateKey = 16000
AVNumberOfChannelsKey = 2
AVLinearPCMBitDepthKey = 16
AVLinearPCMIsBigEndianKey = NO
AVLinearPCMIsFloatKey = NO

如何更改这些属性才能使用libflac?

2 个答案:

答案 0 :(得分:1)

事实证明,设置是正确的。问题出在wav文件格式和libflac上。 Apple创建的格式与已知波形格式略有不同。这就是我案例中出现问题的原因

答案 1 :(得分:0)

Apple的wave格式标题略有不同。查看Jason Hurt将Apple的wave转换为FLAC的代码:https://github.com/jhurt/wav_to_flac