PannerNode: свойство positionZ
Базовая поддержка Широко доступно
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с апреля 2021 года.
Свойство positionZ интерфейса PannerNode определяет Z-координату положения источника звука в 3D декартовой системе координат, соответствующую оси глубины (позади/перед слушателем). Весь вектор определяется положением источника звука, задаваемым как (positionX, positionY, positionZ), и ориентацией источника звука (т.е. направлением, в котором он смотрит), задаваемой как (orientationX, orientationY, orientationZ).
В зависимости от направленности звука (как задано с помощью атрибутов coneInnerAngle, coneOuterAngle и codeOuterGain), ориентация звука может изменить воспринимаемую громкость звука во время воспроизведения. Если звук направлен на слушателя, он будет громче, чем если звук направлен от слушателя.
Объект AudioParam, содержащийся в этом свойстве, является только для чтения; однако вы всё ещё можете изменить значение параметра, присвоив новое значение его свойству AudioParam.value.
Значение
Объект AudioParam, чьё значение является Z-координатой положения источника звука в 3D декартовой системе координат.
Примеры
Следующий пример запускает генератор колебаний и перемещает его перед слушателем после 1 секунды, позади слушателя после 2 секунд и обратно к положению слушателя после 3 секунд. Обратите внимание, что в этом случае изменение в основном повлияет на тембр и воспринимаемую громкость звука.
const context = new AudioContext(); const osc = new OscillatorNode(context); const panner = new PannerNode(context); panner.panningModel = "HRTF"; panner.positionZ.setValueAtTime(1, context.currentTime + 1); panner.positionZ.setValueAtTime(-1, context.currentTime + 2); panner.positionZ.setValueAtTime(0, context.currentTime + 3); osc.connect(panner).connect(context.destination); osc.start(0);
Спецификации
| Спецификация |
|---|
| Web Audio API # dom-pannernode-positionz |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
positionZ |
52 | 79 | 50 | 39 | 14.1 | 52 | 50 | 41 | 14.5 | 6.0 | 52 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PannerNode/positionZ