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 完全対応 14Edge 完全対応 13Firefox 完全対応 25IE 未対応 なしOpera 完全対応 15Safari 完全対応 6WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 26Opera Android 完全対応 14Safari iOS ? Samsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明

関連情報