是否有一種(簡單)的方式來獲取單聲道輸入並只在左聲道或右聲道中播放?我想我可以通過ScriptProcessing節點來完成它,但是如果有一個節點意在處理這種情況,我真的很想知道。該API有一個關於混合的部分,但我沒有看到有關如何以這種方式操縱渠道的任何代碼。網絡音頻API:如何僅在左聲道或右聲道中播放單聲道源?
注意,我已經試過了聲像節點,但它似乎並沒有真正切斷左自右聲道,我不希望任何聲音從一個通道到其它出血。
是否有一種(簡單)的方式來獲取單聲道輸入並只在左聲道或右聲道中播放?我想我可以通過ScriptProcessing節點來完成它,但是如果有一個節點意在處理這種情況,我真的很想知道。該API有一個關於混合的部分,但我沒有看到有關如何以這種方式操縱渠道的任何代碼。網絡音頻API:如何僅在左聲道或右聲道中播放單聲道源?
注意,我已經試過了聲像節點,但它似乎並沒有真正切斷左自右聲道,我不希望任何聲音從一個通道到其它出血。
看一看分離器節點:https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#ChannelSplitterNode-section爲ChannelSplitterNode
一種應用是這樣做,其中每個信道的單獨的增益控制期望的「混合基質」。
(我還沒有嘗試過,讓我知道:)
你想使用ChannelSplitter,雖然有錯誤時,根本就沒有連接的通道。看到這個問題:Play an Oscillation In a Single Channel。
你可以嘗試使用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);
是你需要什麼?
有人提出並編輯。你能回顧一下,它看起來至少錯過了一個錯字。 –
謝謝!這工作。 –