如何从iOS中的音频剪辑中检索PCM样本数据?

时间:2015-06-24 06:20:47

标签: ios swift audio avfoundation core-audio

我需要从iOS中的.wav文件(或任何其他格式)中提取PCM音频样本。我还希望使用麦克风从现场录音中获取相同的数据。

可以使用AVFoundation完成,还是需要使用较低级别的CoreAudio API? Swift中的一个例子将非常感激。我只是在寻找一个基本的Floats数组,它们对应于用于信号处理的各个音频样本。

1 个答案:

答案 0 :(得分:4)

AVFoundation包含一个名为AVAssetReader的类,可用于从声音文件中获取音频数据。 https://developer.apple.com/library/mac/documentation/AVFoundation/Reference/AVAssetReader_Class/index.html#//apple_ref/occ/instm/AVAssetReader/addOutput

但是,最简单的方法可能是使用扩展音频文件服务和ExtAudioFileRead功能:https://developer.apple.com/library/prerelease/ios/documentation/MusicAudio/Reference/ExtendedAudioFileServicesReference/index.html#//apple_ref/c/func/ExtAudioFileRead

扩展音频文件服务是一个C API,所以你必须处理从Swift调用它。