0

wave、mp3、aiff ファイルからデータを読み込み、このデータを fft に使用したい。AudioToolbox Framework は良さそうに見えますが、多くの異なる機能や類似した機能があり、私にとっては混乱を招きます。

関数のリストを手伝ってもらえますか? したがって、numberOfFrames、channel、sampleRate、bitRate、および配列を audioData で取得する必要があります。

ありがとう。

4

1 に答える 1

1

ファイルをロードし、プロパティを取得して読み取る必要があります。

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を書く必要があります。

これがお役に立てば幸いです。

于 2012-08-11T13:57:38.620 に答える