--- title: AudioContext.createStereoPanner() slug: Web/API/AudioContext/createStereoPanner translation_of: Web/API/BaseAudioContext/createStereoPanner ---
{{ APIRef("Web Audio API") }}
{{ domxref("AudioContext") }}インターフェースのcreateStereoPanner()
メソッドは、音源にステレオパンニングを適用する{{ domxref("StereoPannerNode") }}を生成します。入力されたオーディオストリームは、低コストなequal-powerパンニングアルゴリズムで位置が決められます。
var audioCtx = new AudioContext(); var panNode = audioCtx.createStereoPanner();
{{domxref("StereoPannerNode")}}
このStereoPannerNodeサンプル(ソースコード)のHTMLには、{{htmlelement("audio")}}要素と、パン値を増減させるスライダー{{domxref("input")}}しかありません。JavaScpriptでは、{{domxref("MediaElementAudioSourceNode")}}と{{domxref("StereoPannerNode")}}を生成し、この2つをconnect()
メソッドで接続しています。そして、スライダーを動かすと、oninput
イベントハンドラで{{domxref("StereoPannerNode.pan")}}パラメータの値を変更し、ディスプレイのパン値を更新しています。
スライダーを左から右に動かすと、音楽のスピーカーからの出力が左から右にパンされます。
var audioCtx = new (window.AudioContext || window.webkitAudioContext)(); var myAudio = document.querySelector('audio'); var panControl = document.querySelector('.panning-control'); var panValue = document.querySelector('.panning-value'); pre.innerHTML = myScript.innerHTML; // MediaElementAudioSourceNodeを生成し、そこにHTMLMediaElementを入れる var source = audioCtx.createMediaElementSource(myAudio); // ステレオパンナーを生成する var panNode = audioCtx.createStereoPanner(); // イベントハンドラ関数で、スライダーが動いたとき左右のパンの値を左右する panControl.oninput = function() { panNode.pan.value = panControl.value; panValue.innerHTML = panControl.value; } // AudioBufferSourceNodeをpanNodeに接続し、panNodeを行き先(destination)に接続する // これでこのコントロールで音楽をパンを調整することができる source.connect(panNode); panNode.connect(audioCtx.destination);
Specification | Status | Comment |
---|---|---|
{{SpecName('Web Audio API', '#widl-AudioContext-createStereoPanner-StereoPannerNode', 'createStereoPanner()')}} | {{Spec2('Web Audio API')}} |
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | {{CompatChrome(42.0)}} | {{CompatGeckoDesktop(37.0)}} | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} |
Feature | Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | {{CompatNo}} | 37.0 | 2.2 | {{CompatNo}} | {{CompatNo}} | {{CompatNo}} | {{CompatVersionUnknown}} |