2013-01-31 44 views
7

Có cách nào (một cách dễ dàng) để lấy đầu vào đơn âm và chỉ phát trong kênh trái hoặc phải không? Tôi nghĩ rằng tôi có thể làm điều đó thông qua các nút ScriptProcessing, nhưng nếu có một nút có nghĩa là để xử lý tình trạng này tôi thực sự muốn biết. API có phần về trộn, nhưng tôi không thấy bất kỳ mã nào về cách tự thao tác kênh theo cách này.API âm thanh trên web: Làm cách nào để phát một nguồn đơn âm chỉ trong kênh trái hoặc phải?

Lưu ý, tôi đã thử nút cờ lê, nhưng nó dường như không thực sự cắt rời khỏi kênh từ bên phải, tôi không muốn bất kỳ âm thanh chảy máu từ kênh này sang kênh khác.

Trả lời

3

Bạn muốn sử dụng ChannelSplitter, mặc dù có một lỗi khi một kênh được chỉ đơn giản là không được kết nối. Xem vấn đề này: Play an Oscillation In a Single Channel.

+0

Cảm ơn! Điều này làm việc. –

1

Bạn có thể thử sử dụng CreatePanner() và sau đó setPosition() vào kênh mong muốn. Đừng quên kết nối nút trước đó của bạn với nút cờ lê và cờ lê với số context.destination.

Ví dụ:

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

Là những gì bạn cần?

+0

Ai đó đã đề xuất và chỉnh sửa. Bạn có thể xem xét, có vẻ như đã bỏ lỡ một lỗi đánh máy ít nhất. –

Các vấn đề liên quan