J'essaye d'implémenter un ScriptProcessorNode avec deux canaux d'entrée et un de sortie. Lorsque j'exécute ce code dans Google Chrome ainsi que dans Mozilla Firefox, l'erreur suivante est générée lors de l'exécution de ce code dans Mozilla Firefox: Comment puis-je connecter deux canaux d'entrée à ScriptProcessorNode? (Web Audio Api, JavaScript)
var source = new Array(2);
source[0] = context.createBufferSource();
source[0].buffer = buffer[0];
source[1] = context.createBufferSource();
source[1].buffer = buffer[1];
var test = context.createScriptProcessor(4096, 2, 1);
source[0].connect(test, 0, 0);
source[1].connect(test, 0, 1);
test.connect(context.destination);
source[0].start();
source[1].start();
Il me dit que mon nœud
test
n'a qu'un seul canal d'entrée.
Uncaught IndexSizeError: Failed to execute 'connect' on 'AudioNode': input index (1) exceeds number of inputs (1).
Quand je console imprimer le nombre de canaux d'entrée du ScriptProcessorNode test
je reçois deux canaux d'entrée.
test.onaudioprocess = function(evt){
console.log("number of input channels: " + evt.inputBuffer.numberOfChannels);
}
Néanmoins reliant deux noeuds à l'entrée du noeud test
ne fonctionne pas comme je le fais. Je veux programmer un vocoder à l'intérieur de ScriptProcessorNode. Comment puis-je créer un ScriptProcessorNode avec deux canaux d'entrée et un canal de sortie et connecter deux nœuds source comme canal d'entrée et le context.destination
comme canal de sortie?
https://developer.mozilla.org/fr-fr/docs/Web/API/ChannelMergerNode Avez-vous considéré cela? –
J'ai besoin des deux canaux d'entrée dans la fonction qui est déclenchée par onaudioprocess pour les connecter d'une manière spécifique ensemble. Je pourrais créer deux ScriptProcessorNodes et les fusionner après, mais je ne sais pas comment exécuter deux ScriptProcessorNodes en parallèle. – thiloilg
Ce que je comprends bien, c'est que vous voulez que les deux canaux soient traités séparément? Dans ce cas, vous voulez probablement https://developer.mozilla.org/en-US/docs/Web/API/ChannelSplitterNode et deux différents 'ScriptProcessorNode's pour traiter chaque flux audio mono. –