2017-08-31 4 views
0

J'ai un cas d'utilisation pour visualiser le niveau de sortie audio d'un seul fichier audio lorsque les différents périphériques de sortie sont sélectionnés. J'ai pris l'approche d'utiliser AudioContext avec audioElement, mais je me rends compte que je ne peux pas simplement définir différents sinkIds dans audioElement alors qu'il est associé à AudioContext.Code que j'ai essayé est ci-dessous.Utilisez AudioContext unique avec AudioElement tandis que audioElement utilise différents périphériques de sortie

` 
var audioContext = this.audioContext = new $window.AudioContext(); 
var source = this.source = audioContext.createMediaElementSource(audioElement); 
var analyser = this.analyser = audioContext.createAnalyser(); 
var javascriptNode = this.javascriptNode = audioContext.createScriptProcessor(1024, 1, 1); 
analyser.fftSize = audioContextModelConstants.FFT_SIZE; 
analyser.smoothingTimeConstant = audioContextModelConstants.SMOOTHING_TIME; 

source.connect(analyser); 
var gainNode = audioContext.createGain(); 
source.connect(gainNode); 
gainNode.connect(audioContext.destination);` 

Répondre

0

Vous ne pouvez pas obtenir ce que vous voulez actuellement. Une fois que votre élément audio est connecté à un contexte audio, tout l'audio est routé à travers le contexte. Et un contexte audio ne supporte pas la sélection d'un périphérique de sortie audio pour le moment.