如何从 iOS 中的音频剪辑中检索 PCM 样本数据?
How can I retrieve PCM sample data from an audio clip in iOS?
我需要从 iOS 中的 .wav 文件(或任何其他格式)中提取 PCM 音频样本。我也想从使用麦克风的现场录音中获取相同的数据。
这可以使用 AVFoundation 完成吗,还是我需要使用较低级别的 CoreAudio API? Swift 中的示例将不胜感激。我只是在寻找与用于信号处理的单个音频样本相对应的 Floats 基本数组。
AVFoundation
包含一个名为 AVAssetReader
的 class,可用于从声音文件中获取音频数据。 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 调用它的问题。
我需要从 iOS 中的 .wav 文件(或任何其他格式)中提取 PCM 音频样本。我也想从使用麦克风的现场录音中获取相同的数据。
这可以使用 AVFoundation 完成吗,还是我需要使用较低级别的 CoreAudio API? Swift 中的示例将不胜感激。我只是在寻找与用于信号处理的单个音频样本相对应的 Floats 基本数组。
AVFoundation
包含一个名为 AVAssetReader
的 class,可用于从声音文件中获取音频数据。 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 调用它的问题。