AudioListener.setPosition()

setPosition() - позиція слухача в 3D просторі.

Синтаксис:

AudioListener.setPosition(x,y,z);

Параметри:

AudioListener - об'єкт AudioListener.

x - позиція слухача по осі X в 3D просторі. Значення по замовчуванню 0.

y - позиція слухача по осі Y в 3D просторі. Значення по замовчуванню 0.

z - позиція слухача по осі Z в 3D просторі. Значення по замовчуванню 0.

Опис:

setPosition() метод об'єкту AudioListener для зміни позиції людини яка слухає звук.

Об'єкт PannerNode використовує ці позиції по відношенню до окремих джерел звуку.

Деякі браузери не підтримують метод setPosition(), а підтримують властивості: positionX, positionY, positionZ.

Приклад:

<audio id="player" src="/dani/test.ogg"></audio> if(window.AudioContext){ var player = document.getElementById('player'); var audio = new AudioContext(); var source = audio.createMediaElementSource(player); source.connect(audio.destination); audio.listener.setPosition(2,0,5); player.play(); //починаємо відтворення }else alert('Ваш браузер не підтримує Web Audio');

Приклад зміни значень параметрів:

X:
Y:
Z:
function resizePos(){ var x=document.getElementById('posx'), y=document.getElementById('posy'), z=document.getElementById('posz'); document.getElementById('lab_posx').innerText=x.value; document.getElementById('lab_posy').innerText=y.value; document.getElementById('lab_posz').innerText=z.value; audio.listener.setPosition(x.value, y.value, z.value); } document.getElementById('posx').onchange=document.getElementById('posy').onchange=document.getElementById('posz').onchange=resizePos; if(window.AudioContext){ var player = document.getElementById('player2'); var audio = new AudioContext(); var source = audio.createMediaElementSource(player); var paner=audio.createPanner(); source.connect(paner); paner.connect(audio.destination); paner.orientationX.value=15; paner.orientationY.value=5; paner.orientationZ.value=-15; player.play(); //починаємо відтворення }else alert('Ваш браузер не підтримує Web Audio');