给定一个音频文件“coolsound.aif”,我该如何处理检索声音数据块(SSND 块)并遍历它们以进行任意处理的任务?我希望能够实现以下目标:
/*
* Pseudocode of what I'd like to do
*/
// get SSND chunks out of audio file somehow
Array soundDatachunks = getSSNDChunksFromSoundFile("coolsound.aif");
// iterate over each chunk
foreach(soundDataChunks as chunk){
// Now iterate over each element in the waveForm data array
foreach(chunk.waveForm as w){
//Just log it to debug console for now
Log(w);
}
}
其他信息:
- 我的目标是使用波形数据以图形方式可视化音频文件。
- 音频文件是使用 AudioToolbox以这种方式录制的。
- SSND 块具有此源中显示的结构:
typedef struct {
ID chunkID;
long chunkSize;
unsigned long offset;
unsigned long blockSize;
unsigned char WaveformData[];
} SoundDataChunk;