我需要从iOS中的.wav文件(或任何其他格式)中提取PCM音频样本。我还希望使用麦克风从现场录制中获取相同的数据。
这可以使用AVFoundation完成,还是需要使用更低级别的CoreAudio API?如果有Swift示例,将不胜感激。我只是想要一个基本的浮点数组,对应于用于信号处理的单个音频样本。
我需要从iOS中的.wav文件(或任何其他格式)中提取PCM音频样本。我还希望使用麦克风从现场录制中获取相同的数据。
这可以使用AVFoundation完成,还是需要使用更低级别的CoreAudio API?如果有Swift示例,将不胜感激。我只是想要一个基本的浮点数组,对应于用于信号处理的单个音频样本。
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 中调用它。