AudioListener

AudioListenerインターフェースは特定の人物が聞いている音場の位置と方向を表します、そしてそれはaudio spatialization (en-US)に使用されます。すべてのPannerNodeは、BaseAudioContext.listener属性に格納されているAudioListenerに関連して空間化されます。

コンテキストごとにリスナーは1つだけであり、AudioNodeではないことに注意することが重要です。

We see the position, up and front vectors of an AudioListener, with the up and front vectors at 90° from the other.

Properties

親であるAudioNodeの属性を継承します。

position、forward、およびupの値は、さまざまな構文を使用して設定および取得されます。 値の取得は、例えばAudioListener.positionXにアクセスすることによって行われ、同じプロパティの設定はAudioListener.positionX.valueによって行われます。 これらの値が読み取り専用とマークされていないのはこのためです。つまり、仕様のIDLにはこれらの値が表示されます。

AudioListener.positionX (en-US)
右直交座標系におけるリスナーの水平位置を表します。 デフォルトは0です。
AudioListener.positionY (en-US)
右直交座標系におけるリスナーの垂直位置を表します。 デフォルトは0です。
AudioListener.positionZ (en-US)
右直交座標系におけるリスナーの縦方向(前後)の位置を表します。 デフォルトは0です。
AudioListener.forwardX (en-US)
ポジション(positionX, positionY,および positionZ)の値と同じ直交座標系におけるリスナーの前方向の水平位置を表します。 順方向と上方向の値は互いに線形的に独立しています。 デフォルトは0です。
AudioListener.forwardY (en-US)
ポジション(positionX, positionY,および positionZ)の値と同じ直交座標系におけるリスナーの前方方向の垂直位置を表します。 順方向と上方向の値は互いに線形的に独立しています。 デフォルトは0です。
AudioListener.forwardZ (en-US)
ポジション(positionX, positionY,および positionZ)の値と同じ直交座標系でのリスナーの前方向の前後(前後)の位置を表します。 順方向と上方向の値は互いに線形的に独立しています。 デフォルトは-1です。
AudioListener.upX (en-US)
ポジション(positionX, positionY,および positionZ)と同じ直交座標系でのリスナーの前方向の前後(前後)の位置を表します。 順方向と上方向の値は互いに線形的に独立しています。 デフォルトは-1です。
AudioListener.upY (en-US)
ポジション(positionX, positionY,および positionZ)の値と同じ直交座標系における、リスナーの頭のてっぺんの垂直位置を表します。 順方向と上方向の値は互いに線形的に独立しています。 デフォルトは1です。
AudioListener.upZ (en-US)
ポジション(positionX, positionY,および positionZ)の値と同じ直交座標系における、リスナーの頭の上端の縦方向(前後)の位置を表します。 順方向と上方向の値は互いに線形的に独立しています。 デフォルトは0です。

Methods

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

Deprecated features

AudioListener.dopplerFactor (en-US) これは廃止された API であり、動作は保証されていません。
doppler effect(ドップラー効果)をレンダリングするときに使用するピッチシフトの量を表すdouble値です。
AudioListener.speedOfSound (en-US) これは廃止された API であり、動作は保証されていません。
音速をメートル単位で表したdouble値です。
AudioListener.setOrientation() (en-US)
リスナーの向きを設定します。
AudioListener.setPosition() (en-US)
リスナーの位置を設定します。

この仕様の以前のバージョンでは、dopplerFactorおよびspeedOfSoundプロパティとsetPosition()メソッドを使用して、ダウンストリームに接続された AudioBufferSourceNode に適用されるドップラー効果を制御できました — これらは PannerNode と AudioListener の相対速度に応じて上下にピッチが変わります。 これらの機能には多くの問題がありました。

  • Only AudioBufferSourceNodes were pitched up or down, not other source nodes.
  • 他のソースノードではなく、AudioBufferSourceNodeだけが上下にピッチされました。
  • AudioBufferSourceNodeが複数のPannerNodeに接続されている場合に採用する動作は不明でした。
  • パンナーとリスナーのベロシティはAudioParamではなかったため、ピッチの変更はスムーズに適用できず、オーディオグリッチが発生しました。

これらの問題のため、これらのプロパティとメソッドは削除されました。

setOrientation() およびsetPosition() メソッドは、それらのプロパティ値を同等に設定することで置き換えられました。 例えば、setPosition(x, y, z)は、それぞれpositionX.value, positionY.valueおよび positionZ.valueを設定することによって実現できます。

Example

{{page("/en-US/docs/Web/API/AudioContext.createPanner","Example")}}

Specifications

Specification Status Comment
Web Audio API
AudioListener の定義
勧告  

Browser compatibility

BCD tables only load in the browser

See also