AudioBuffer.copyFromChannel()

AudioBuffer インターフェイスの copyFromChannel() メソッドは、 AudioBuffer の指定されたチャンネルから音声サンプルデータを指定された Float32Array へコピーします。

構文

myArrayBuffer.copyFromChannel(destination, channelNumber, startInChannel);

引数

destination
チャンネルのサンプルのコピー先となる Float32Array です。
channelNumber
チャンネルデータをコピーする現在の AudioBuffer のチャンネル数です。
startInChannel Optional
(任意) ソースチャンネルバッファー内でサンプルのコピーを始める位置のオフセットです。指定されていない場合は、既定で0の値 (バッファーの先頭) とみなされます。

返値

undefined です。

例外

indexSizeError
入力引数のうちの一つが、受付可能な範囲の外にある場合。
  • channelNumber の値が存在しないチャンネル番号を指定している場合 (つまり、チャンネルの numberOfChannels 以上である場合)。
  • startInChannel の値がソースバッファーの中に既に存在するサンプルの現在の範囲の外にある場合。つまり、現在の length より大きい場合。

この例では新しい音声バッファーを生成し、他のチャンネルからサンプルをコピーします。

var myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
var anotherArray = new Float32Array(length);
myArrayBuffer.copyFromChannel(anotherArray, 1, 0);

仕様書

仕様 状態 備考
Web Audio API
copyFromChannel の定義
草案  

ブラウザーの対応

BCD tables only load in the browser

関連情報