2014-10-17 5 views
10

Ich experimentiere mit Web Audio API, um die Wiedergabe von interaktiver Musik in einem Mehrkanal-Setup zu steuern. Bisher habe ich es geschafft, den Sound von bis zu 8 Oszillatoren auf 8 verschiedene Kanäle auf meiner 12-Kanal-Soundkarte zu leiten, aber sobald ich versuche, mehr als 8 Kanäle zu verwenden, werden plötzlich alle Kanäle stummgeschaltet. Nach vielen Recherchen stelle ich fest, dass audioContext.currentTime auf einem Wert nahe Null stecken bleibt.Ist es möglich, mehr als 8 Kanäle mit Web Audio API auszugeben?

Das ist mein Ergebnis von MAC OSX 10.8.5 Google Chrome Version 39.0.2171.27 beta (64-bit) und Version 40.0.2192.0 Kanarienvogel (64-Bit).

Safari erlaubt mich nicht mehr als 2 Kanäle FireFox findet meine 12 Kanäle mit audioContext.destination.maxChannelCount zu adressieren, sondern hält meinen Sound auf Routing-1 & 2 egal zu kanalisieren, wenn ich versuche, mit gain.connect(channelMerger, 0, i) den Oszillator auf eine höhere Zahl zu verbinden.

Hat jemand etwas Ähnliches gefunden? Gibt es Workarounds? Hier

ist der Code:

var AudioContext = window.AudioContext || window.webkitAudioContext; 
var audioContext = new AudioContext(); 
var maxChannelCount = audioContext.destination.maxChannelCount; 

// if set to max 8 it works fine in Chrome, but this line 
// breaks the audio if the sound card has got more than 8 channels 
audioContext.destination.channelCount = maxChannelCount; 
audioContext.destination.channelCountMode = "explicit"; 
audioContext.destination.channelInterpretation = "discrete"; 

var channelMerger = audioContext.createChannelMerger(maxChannelCount); 
channelMerger.channelCount = 1; 
channelMerger.channelCountMode = "explicit"; 
channelMerger.channelInterpretation = "discrete"; 
channelMerger.connect(audioContext.destination); 

for(var i = 0; i < maxChannelCount; i++){ 
    var oscillator = audioContext.createOscillator(); 
    oscillator.connect(channelMerger, 0, i); 
    oscillator.start(0); 
} 
+0

mögliche Duplikate von [Audioaufnahme im Web, Voreinstellung: 16000Hz 16bit] (http://stackoverflow.com/questions/28969304/record-audio-on-web-preset-16000hz-16bit) –

Antwort

0

Wir haben nicht Multi-Channel-Unterstützung in Firefox implementiert. Es wurde priorisiert und wird irgendwann in den nächsten zwei Quartalen passieren, und dann kurz danach veröffentlicht.

Verwandte Themen