PannerNode

PannerNode - позиціонування звуку в 3D просторі.

Синтаксис:

AudioContext.createSpatialPanner();

Параметри:

AudioContext - об'єкт AudioContext.

Опис:

PannerNode об'єкт який є аудіо вузлом для позиціонування звуку в 3D просторі.

Приклад:

if(window.AudioContext){ var audio = new AudioContext(); var paner= audio.createPanner(); alert( paner ); }else alert('Ваш браузер не підтримує Web Audio'); <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); var paner=audio.createPanner(); source.connect(paner); paner.connect(audio.destination); paner.orientationX.value=15; paner.orientationY.value=-15; paner.orientationZ.value=-10; paner.positionX.value=25; paner.positionY.value=5; paner.positionZ.value=-5; paner.rolloffFactor=150; paner.distanceModel='linear'; player.play(); //починаємо відтворення }else alert('Ваш браузер не підтримує Web Audio'); if(window.AudioContext){ var player = document.getElementById('player'); 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=-15; paner.orientationZ.value=-10; paner.positionX.value=25; paner.positionY.value=5; paner.positionZ.value=-5; paner.rolloffFactor=150; paner.distanceModel='linear'; player.play(); //починаємо відтворення }else alert('Ваш браузер не підтримує Web Audio');
coneInnerAngle: 360
coneOuterAngle: 360
coneOuterGain: 0
distanceModel:
maxDistance: 1000
orientationX: 1
orientationY: 0
orientationZ: 0
panningModel:
positionX: 0
positionY: 0
positionZ: 0
refDistance: 0
rolloffFactor: 0
document.getElementById('paner_play').onclick=function(){ if(window.AudioContext){ window.panner_player = document.getElementById('player2'); window.panner_audio = new AudioContext(); window.panner_source = panner_audio.createMediaElementSource(panner_player); window.panner_paner=panner_audio.createPanner(); panner_source.connect(panner_paner); panner_paner.connect(panner_audio.destination); document.getElementById('paner_coneInnerAngle').onchange=function(){panner_paner.coneInnerAngle=this.value; document.getElementById('paner_coneInnerAngle_label').innerText=this.value}; document.getElementById('paner_coneOuterAngle').onchange=function(){panner_paner.coneOuterAngle=this.value; document.getElementById('paner_coneOuterAngle_label').innerText=this.value}; document.getElementById('paner_coneOuterGain').onchange=function(){panner_paner.coneOuterGain=this.value; document.getElementById('paner_coneOuterGain_label').innerText=this.value}; document.getElementById('paner_distanceModel').onchange=function(){panner_paner.distanceModel=this.value;}; document.getElementById('paner_maxDistance').onchange=function(){panner_paner.maxDistance=this.value; document.getElementById('paner_maxDistance_label').innerText=this.value}; document.getElementById('paner_orientationX').onchange=function(){panner_paner.orientationX.value=this.value; document.getElementById('paner_orientationX_label').innerText=this.value}; document.getElementById('paner_orientationY').onchange=function(){panner_paner.orientationY.value=this.value; document.getElementById('paner_orientationY_label').innerText=this.value}; document.getElementById('paner_orientationZ').onchange=function(){panner_paner.orientationZ.value=this.value; document.getElementById('paner_orientationZ_label').innerText=this.value}; document.getElementById('paner_panningModel').onchange=function(){panner_paner.panningModel=this.value;}; document.getElementById('paner_positionX').onchange=function(){panner_paner.positionX.value=this.value; document.getElementById('paner_positionX_label').innerText=this.value}; document.getElementById('paner_positionY').onchange=function(){panner_paner.positionY.value=this.value; document.getElementById('paner_positionY_label').innerText=this.value}; document.getElementById('paner_positionZ').onchange=function(){panner_paner.positionZ.value=this.value; document.getElementById('paner_positionZ_label').innerText=this.value}; document.getElementById('paner_refDistance').onchange=function(){panner_paner.refDistance=this.value; document.getElementById('paner_refDistance_label').innerText=this.value}; document.getElementById('paner_rolloffFactor').onchange=function(){panner_paner.rolloffFactor=this.value; document.getElementById('paner_rolloffFactor_label').innerText=this.value}; panner_player.play(); //починаємо відтворення }else alert('Ваш браузер не підтримує Web Audio'); }