objective-c - 如何使用AudioToolbox Framework读取音频文件?

标签 objective-c audio audiotoolbox

我想从wave,mp3和aiff文件中读取数据,并将此数据用于fft。
AudioToolbox Framework看起来不错,但是有很多不同和相似的功能,这让我感到困惑。

您能帮我提供功能列表吗?所以我需要用audioData获取numberOfFrames,channel,sampleRate,bitRate和数组。

谢谢。

最佳答案

您需要加载文件,并获取属性并读取。

ExtAudioFileRef myfile;
ExtAudioFileOpenURL(yourURL, &myfile);

// after you get a AudioStreamBasicDescription
AudioStreamBasicDescription desc={0};
ExtAudioFileGetProperty(myfile, kExtAudioFileProperty_FileDataFormat, sizeof(AudioStreamBasicDescription), &desc);
AudioBufferList *ioData = CreateAudioBuffer(desc);
UInt32 nbFrames = 512;
while(nbFrames != 0)
{
     nbFrames = 512;
     ExtAudioFileRead(myfile, &nbFrames, ioData);
     WorkWithFrame(ioData, nbFrames);
}

ExtAudioFileDispose(myfile);

您需要使用数据malloc和WorkWithFrames编写CreateAudioBuffer。

希望对您有所帮助。

关于objective-c - 如何使用AudioToolbox Framework读取音频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9566906/

相关文章:

ios - AVFoundation 不播放声音

ios - 如何隐藏uiwebview导航按钮

c# - 使用智能手机上的 RIL Audio 进行音频反馈

java - Clip 在 Java 中播放 WAV 文件时出现严重滞后

python - 如何使用 SciPy 以不同的采样率读取 .wav 文件?

macos - 使用 Swift 中的 AudioToolbox 访问 OS X 主音量

ios - iBeacon 为多个信标发送通知

iphone - 使用 NSLayoutConstraint 将大型 UIView 居中

javascript - 在导航中 react native 多颜色标题

ios - 快速将 float 组写入 wav 音频文件