我需要从iOS中的.wav文件(或任何其他格式)中提取PCM音频样本。我还希望使用麦克风从现场录音中获取相同的数据。
可以使用AVFoundation完成,还是需要使用较低级别的CoreAudio API? Swift中的一个例子将非常感激。我只是在寻找一个基本的Floats数组,它们对应于用于信号处理的各个音频样本。
答案 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调用它。