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 の定義
草案  

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
copyFromChannelChrome 完全対応 43Edge 完全対応 13Firefox 完全対応 25IE 未対応 なしOpera 完全対応 30Safari 未対応 なしWebView Android 完全対応 43Chrome Android 完全対応 43Firefox Android 完全対応 26Opera Android 完全対応 30Safari iOS 未対応 なしSamsung Internet Android 完全対応 4.0

凡例

完全対応  
完全対応
未対応  
未対応

関連情報