2014-10-17 12 views
10

Sto sperimentando con Web Audio API per controllare la riproduzione di musica interattiva in una configurazione multicanale. Finora sono riuscito a dirigere il suono di un massimo di 8 oscillatori su 8 canali diversi sulla mia scheda audio a 12 canali, ma non appena provo a usare più di 8 canali, improvvisamente tutti i canali vengono disattivati. Dopo molte ricerche, noto anche che audioContext.currentTime rimane bloccato su un valore vicino allo zero.È possibile produrre più di 8 canali con l'API Web Audio?

Questo è il mio risultato da Mac OSX 10.8.5 Google Chrome versione 39.0.2171.27 beta (64-bit) e versione 40.0.2192.0 canarino (64-bit).

Safari non mi permette di affrontare più di 2 canali FireFox trova miei 12 canali con audioContext.destination.maxChannelCount ma continua a instradamento mio suono al canale 1 & 2, non importa se provo a collegare l'oscillatore ad un numero più elevato con gain.connect(channelMerger, 0, i).

Qualcuno si è imbattuto in qualcosa di simile? Esistono soluzioni alternative?

Ecco il codice:

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

possibile duplicato di [Registra audio su Web, preimpostato: 16000Hz 16 bit] (http://stackoverflow.com/questions/28969304/record-audio-on-web-preset-16000hz-16bit) –

risposta

0

Non abbiamo implementato il supporto multi-canale in Firefox. È stato assegnato un ordine di priorità e succederà a un certo punto nei prossimi due mesi, e verrà pubblicato poco dopo.

Problemi correlati