1

オーディオ ファイル '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;
4

1 に答える 1

0

使用できる API はいくつかありますが、どれだけ制御したいか、および音声データをどうするかによって異なります。ExtendedAudioFile API は、オーディオ データの取得や描画などの基本的な操作用に作成されています。

これを実現するには、AudioStreamBasicDescription オブジェクトを作成して適切に構成する必要があるなど、多くのコードのように思えるかもしれませんが、オーディオ ファイル全体を非常に迅速に読み取り、すべてのサンプルにアクセスして描画することができます。

GW

于 2012-12-22T05:26:02.723 に答える