2013-01-31 6 views
7

Czy istnieje (łatwy) sposób na wejście mono i odtwarzanie go tylko w lewym lub prawym kanale? Myślę, że mogę to zrobić za pośrednictwem węzła ScriptProcessing, ale jeśli istnieje węzeł przeznaczony do radzenia sobie z tą sytuacją, naprawdę chciałbym to wiedzieć. Interfejs API zawiera sekcję dotyczącą miksowania, ale nie widzę żadnego kodu o tym, jak samodzielnie manipulować kanałami.Web Audio API: Jak odtwarzać źródło mono tylko w kanale lewym lub prawym?

Uwaga, próbowałem węzła panner, ale nie wydaje mi się, że tak naprawdę odcina lewy kanał od prawego kanału, nie chcę żadnego dźwięku z jednego kanału na drugi.

Odpowiedz

1

Możesz spróbować użyć CreatePanner(), a następnie setPosition() do pożądanego kanału. Nie zapomnij podłączyć poprzedniego węzła do węzła panner i panoramy do context.destination.

Na przykład:

//Lets create a simple oscilator just to have some audio in our context 
var oscillator = context.createOscillator(); 

//Now lets create the panner node 
var pannerNode = context.createPanner(); 

//Connecting the nodes 
oscillator.connect(pannerNode); //Connecting the oscillator output to the panner input 
pannerNode.connect(context.destination); //Connecting the panner output to our sound output 

//Setting the position of the sound 
pannerNode.setPosition(-1, 0, 0);//If you want it to play on the left channel 
pannerNode.setPosition(1, 0, 0);//If you want it to play on the right channel 

//Playing the sound 
oscillator.noteOn(0); 

że to, co trzeba?

+0

Ktoś zasugerował i edytował. Czy możesz przejrzeć, wygląda na to, że minęło przynajmniej literówka. –

Powiązane problemy