---
title: PannerNode
slug: Web/API/PannerNode
tags:
- API
- Interface
- PannerNode
- Reference
- Web Audio API
translation_of: Web/API/PannerNode
---
{{ APIRef("Web Audio API") }}
PannerNode
は音源の空間上の位置と振る舞いを表現したインターフェイスで、{{domxref("AudioNode")}} の一種です。右手直交座標系に従って位置を表し、音源の動きは速度ベクトルと、向きを表すサウンドコーンを利用して表現します。
PannerNode
は必ず 1 つの入力と、1 つの出力を持ちます。入力はモノラルでもステレオでも構いませんが、出力は必ずステレオとなります。つまりパンニングを行うには最低でも 2 チャンネルの音声チャンネルを必要です。
入力数 |
1 |
出力数 |
1 |
チャンネルの数え方 |
"clamped-max" |
チャンネル数 |
2 |
チャンネルの意味 |
"speakers" |
コンストラクター
- {{domxref("PannerNode.PannerNode")}}
- 新しい
PannerNode
オブジェクトを作成します。
属性
親クラスである {{domxref("AudioNode")}} の属性を継承しています。
向きと位置の設定と取得は異なる方法で行います。これは、これらの値が {{domxref("AudioParam")}} として保存されてるためです。値の取得は PannerNode.positionX
のように行えますが、同じ属性に対して値を設定するには PannerNode.positionX.value
のように行います。そのため、これらの値は、WebIDL にあるように、読み取り専用とは定義されていません。
- {{domxref("PannerNode.coneInnerAngle")}}
- 音量が低減しない範囲を内側にもつコーンの角度が、実数値 (倍精度) で参照できます。
- {{domxref("PannerNode.coneOuterAngle")}}
- 音量が一定値まで低減される範囲を外側に持つコーンの角度が、実数値 (倍精度) で参照できます。低減は
coneOuterGain
属性の値に従います。
- {{domxref("PannerNode.coneOuterGain")}}
coneOuterAngle
の外で行われる音量の低減量を定義します。標準値は 0
で、これは音が聞こえなくなることを表します。
- {{domxref("PannerNode.distanceModel")}}
- 音量の低減計算に用いるアルゴリズムを定めます。アルゴリズムは定められたものの中から選択します。とりうる値は
"linear"
、"inverse"
、"exponential"
で、デフォルト値は "inverse"
です。
- {{domxref("PannerNode.maxDistance")}}
- 音源と聴取者の最大距離を定義します。これを超えた場合、音量の低減計算がなされません。
- {{domxref("PannerNode.orientationX")}}
- 右手直交座標系における音源の向きを表すベクトルのうち、水平方向の値です。{{domxref("AudioParam")}} は直接変更できないため、値の変更は{{domxref("AudioParam.value", "value")}} 属性を通して行います。初期値は 1 となっています。
- {{domxref("PannerNode.orientationY")}}
- 右手直交座標系における音源の向きを表すベクトルのうち、垂直方向の値です。{{domxref("AudioParam")}} は直接変更できないため、値の変更は{{domxref("AudioParam.value", "value")}} 属性を通して行います。初期値は 0 となっています。
- {{domxref("PannerNode.orientationZ")}}
- 右手直交座標系における音源の向きを表すベクトルのうち、奥行き(前後)方向の値です{{domxref("AudioParam")}} は直接変更できないため、値の変更は{{domxref("AudioParam.value", "value")}} 属性を通して行います。初期値は 0 となっています。
- {{domxref("PannerNode.panningModel")}}
-
立体音響計算を行うアルゴリズムを定めます。アルゴリズムは定められたものの中から選びます。
- {{domxref("PannerNode.positionX")}}
- 右手直交座標系における音源の位置を表すベクトルのうち、水平方向の値です{{domxref("AudioParam")}} は直接変更できないため、値の変更は{{domxref("AudioParam.value", "value")}} 属性を通して行います。初期値は 0 となっています。
- {{domxref("PannerNode.positionY")}}
- 右手直交座標系における音源の位置を表すベクトルのうち、垂直方向の値です{{domxref("AudioParam")}} は直接変更できないため、値の変更は{{domxref("AudioParam.value", "value")}} 属性を通して行います。初期値は 0 となっています。
- {{domxref("PannerNode.positionZ")}}
- 右手直交座標系における音源の位置を表すベクトルのうち、奥行き(前後)方向の値です{{domxref("AudioParam")}} は直接変更できないため、値の変更は{{domxref("AudioParam.value", "value")}} 属性を通して行います。初期値は 0 となっています。
- {{domxref("PannerNode.refDistance")}}
- 音量の低減計算に用いる基準距離を表します。音源と聴取者との距離がこれを超えた場合、
rolloffFactor
と distanceModel
に基づいて音量の低減が起きます。
- {{domxref("PannerNode.rolloffFactor")}}
- 音源が聴取者から離れていく際に起きる音量の低減量を定めます。この値は、全ての距離モデルで利用されます。
メソッド
親クラスである {{domxref("AudioNode")}} のメソッドを継承しています。
- {{domxref("PannerNode.setPosition()")}}
- 聴取者に対する音源の相対位置を設定します。聴取者の位置は {{domxref("AudioContext.listener")}} で参照される{{domxref("AudioListener")}} オブジェクトで表されています。
- {{domxref("PannerNode.setOrientation()")}}
- 音源が再生されている方向を設定します。
- {{domxref("PannerNode.setVelocity()")}} {{obsolete_inline}}
- 音源の速度を表したベクトルです。移動する速さと方向を表しています。以前の仕様では下流に接続された{{domxref("AudioBufferSourceNode")}} のピッチを上げ下げするために、{{domxref("PannerNode")}} は速度を表す属性を持っていました。この機能は明瞭に定義されておらず、問題も多かったため、現在の仕様からは削除されています。
例
{{page("/ja/docs/Web/API/AudioContext.createPanner","Example")}}
仕様
仕様 |
状況 |
コメント |
{{SpecName('Web Audio API', '#the-pannernode-interface', 'PannerNode')}} |
{{Spec2('Web Audio API')}} |
|
ブラウザー実装状況
{{Compat("api.PannerNode")}}
関連情報