我想从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/