2013-01-31 4 views
7

モノラル入力を受け取り、左右のチャンネルでのみ再生する(簡単な)方法はありますか?私はScriptProcessingノードを通してそれを行うことができると思っていますが、このような状況を処理するためのノードがあれば、私は本当に知りたいと思います。 APIにはミキシングに関するセクションがありますが、この方法でチャンネルを操作する方法についてのコードはありません。Web Audio API:左または右チャンネルでのみモノソースを再生するにはどうすればよいですか?

注意:私はパンナーノードを試しましたが、実際には右側のチャンネルから左を切り取っているようには見えません。

答えて

3

チャネルが単純に接続されていないバグがありますがあなたは、ChannelSplitterを使用したいです。この問題はPlay an Oscillation In a Single Channelを参照してください。

+0

ありがとうございます!これはうまくいった。 –

1

CreatePanner()、次にsetPosition()を使用して、目的のチャネルに接続できます。以前のノードをパンナーノードに接続し、パンナーを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

誰かが提案して編集しています。あなたは見直すことができますか、それは少なくとも誤植を見逃しているようです。 –

関連する問題