2013-01-31 86 views
7

是否有一種(簡單)的方式來獲取單聲道輸入並只在左聲道或右聲道中播放?我想我可以通過ScriptProcessing節點來完成它,但是如果有一個節點意在處理這種情況,我真的很想知道。該API有一個關於混合的部分,但我沒有看到有關如何以這種方式操縱渠道的任何代碼。網絡音頻API:如何僅在左聲道或右聲道中播放單聲道源?

注意,我已經試過了聲像節點,但它似乎並沒有真正切斷左自右聲道,我不希望任何聲音從一個通道到其它出血。

回答

1

你可以嘗試使用CreatePanner()然後setPosition()至所需頻道。不要忘記將前一節點連接到panner節點,並將panner連接到context.destination

例如:

//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); 

是你需要什麼?

+0

有人提出並編輯。你能回顧一下,它看起來至少錯過了一個錯字。 –