WaveSoundBuffer.getVisBuffer

機能/意味

視覚化用データの取得

タイプ
WaveSoundBufferクラスのメソッド
構文
getVisBuffer(buffer, numsamples, channel, ahead=0)
引数
buffer

出力データを書き込むバッファを指定します。
バッファは 16bit 符号付き整数の配列で、numsamples 引数および channels 引数で指定したサンプルが書き込まれるのに十分な個数 ( numsamples * channels 以上 )である必要があります。
channels に 1 以外を指定した場合は、各チャネルのサンプルはインターリーブされて( ステレオならば 右 左 右 左 ・・・・の順に ) 格納されます。
配列の先頭要素へのポインタを指定する必要がありますが、整数型にキャストして渡してください。

numsamples

取得するサンプル数を指定します。

channel

取得するチャンネル数を指定します。
1 を指定すると、モノラルの場合はそのまま、そうでない場合は 1チャンネルにダウンミックスされたデータを得ることができます。
1 以外の数値を指定する場合は、再生中のサウンドと同じチャンネル数を指定する必要があります。
このばあいは、そのままのデータを得ることができます。

ahead

先読みするサンプル数を指定します。
現在の再生位置から、この引数で指定したサンプル数だけ先にあるサンプルから取得することができます。
0 を指定するか、この引数を省略すると、現在の再生位置からの取得になります。

戻り値

取得できたサンプル数が戻ります。

説明

視覚化用に PCM データを取得します。
現在の再生位置から PCM データを読み込み、buffer 引数で指定した配列に書き込みます。
ただし、バッファの状態や再生形式によっては正常にデータを読み込めない可能性もあります。
このメソッドは C や C++ 等で書かれたプラグインから利用されることを想定してますので、たとえばbuffer 引数に TJS の配列を指定する、などのようなことはできません。
このメソッドを使用するには WaveSoundBuffer.useVisBuffer プロパティを真に指定する必要があります。