PannerNode
==========

`PannerNode` は音源の空間上の位置と振る舞いを表現したインターフェイスで、`AudioNode` の一種です。右手直交座標系に従って位置を表し、音源の動きは速度ベクトルと、向きを表すサウンドコーンを利用して表現します。

`PannerNode` は必ず 1 つの入力と、1 つの出力を持ちます。入力はモノラルでもステレオでも構いませんが、出力は必ずステレオとなります。つまりパンニングを行うには最低でも 2 チャンネルの音声チャンネルを必要です。

![The PannerNode defines a spatial position and direction for a given signal.](/ja/docs/Web/API/PannerNode/webaudiopannernode.png)

EventTarget

AudioNode

PannerNode

|  |  |
| --- | --- |
| 入力数 | `1` |
| 出力数 | `1` |
| チャンネルの数え方 | `"clamped-max"` |
| チャンネル数 | `2` |
| チャンネルの意味 | `"speakers"` |

コンストラクター
--------

`PannerNode()` (en-US)

新しい `PannerNode` オブジェクトを作成します。

プロパティ
-----

*親である `AudioNode` からプロパティを継承しています。*

**メモ:** 向きと位置の設定と取得は異なる方法で行います。これは、これらの値が `AudioParam` として保存されてるためです。値の取得は `PannerNode.positionX` のように行えますが、同じ属性に対して値を設定するには `PannerNode.positionX.value` のように行います。そのため、これらの値は、WebIDL にあるように、読み取り専用とは定義されていません。

`PannerNode.coneInnerAngle`

倍精度実数値で、円錐の角度を度単位で記述し、その内側では容量が減少しません。

`PannerNode.coneOuterAngle`

倍精度実数値で、音量を `coneOuterGain` プロパティで定義された、一定値だけ減少させる円錐の外側の角度を度単位で記述します。

`PannerNode.coneOuterGain` (en-US)

倍精度実数値で、 `coneOuterAngle` 属性で定義された円錐体の外側の音量の減少量を記述します。既定値は `0` で、音が聴こえなくなることを意味します。

`PannerNode.distanceModel` (en-US)

音量の低減計算に用いるアルゴリズムを定めます。アルゴリズムは定められたものの中から選択します。とりうる値は `"linear"`、`"inverse"`、`"exponential"`で、既定値は `"inverse"`です。

`PannerNode.maxDistance` (en-US)

音源と聴取者の最大距離を定義します。これを超えた場合、音量の低減計算が行われません。

`PannerNode.orientationX`

右手直交座標系における音源の向きを表すベクトルのうち、水平方向の値です。`AudioParam` は直接変更できないため、値の変更は`value` 属性を通して行います。既定値は 1 となっています。

`PannerNode.orientationY` (en-US)

右手直交座標系における音源の向きを表すベクトルのうち、垂直方向の値です。`AudioParam` は直接変更できないため、値の変更は`value` 属性を通して行います。既定値は 0 となっています。

`PannerNode.orientationZ` (en-US)

右手直交座標系における音源の向きを表すベクトルのうち、奥行き(前後)方向の値です`AudioParam` は直接変更できないため、値の変更は`value` 属性を通して行います。既定値は 0 となっています。

`PannerNode.panningModel` (en-US)

立体音響計算を行うアルゴリズムを定めます。アルゴリズムは定められたものの中から選びます。

`PannerNode.positionX` (en-US)

右手直交座標系における音源の位置を表すベクトルのうち、水平方向の値です`AudioParam` は直接変更できないため、値の変更は`value` 属性を通して行います。既定値は 0 となっています。

`PannerNode.positionY` (en-US)

右手直交座標系における音源の位置を表すベクトルのうち、垂直方向の値です`AudioParam` は直接変更できないため、値の変更は`value` 属性を通して行います。既定値は 0 となっています。

`PannerNode.positionZ` (en-US)

右手直交座標系における音源の位置を表すベクトルのうち、奥行き(前後)方向の値です`AudioParam` は直接変更できないため、値の変更は`value` 属性を通して行います。既定値は 0 となっています。

`PannerNode.refDistance` (en-US)

音量の低減計算に用いる基準距離を表します。音源と聴取者との距離がこれを超えた場合、`rolloffFactor` と `distanceModel` に基づいて音量の低減が発生します。

`PannerNode.rolloffFactor` (en-US)

音源が聴取者から離れていく際に起きる音量の低減量を定めます。この値は、全ての距離モデルで利用されます。

メソッド
----

*親である `AudioNode` のメソッドを継承しています。*

`PannerNode.setPosition()` (en-US) 
非推奨

聞き手（`BaseAudioContext.listener` 属性に格納された `AudioListener` オブジェクトで表される）からの音源の相対位置を定義します。

`PannerNode.setOrientation()` (en-US) 
非推奨

音源が再生されている方向を設定します。

`PannerNode.setVelocity()` 
非推奨

音源の速度を表したベクトルです。移動する速さと方向を表しています。以前の仕様では下流に接続された`AudioBufferSourceNode` のピッチを上げ下げするために、`PannerNode` は速度を表す属性を持っていました。この機能は明確に定義されておらず、問題も多かったため、現在の仕様からは削除されています。

例
-

コード例については `BaseAudioContext.createPanner()` を参照してください。

仕様書
---

| Specification |
| --- |
| Web Audio API # PannerNode |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* ウェブオーディオ API の使用