将单个AudioContext与AudioElement一起使用,而audioElement使用不同的输出设备

时间:2017-08-31 23:01:26

标签: webrtc chromium web-audio

我有一个用例,可以在选择不同的输出设备时可视化单个音频文件的音频输出电平。我采用了AudioContext和audioElement的方法,但我意识到我不能简单地在audioElement中设置不同的sinkIds,而它与AudioContext.Code相关联,我尝试过以下。

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

1 个答案:

答案 0 :(得分:0)

您目前无法实现自己想要的目标。将音频元素连接到音频上下文后,所有音频都将通过上下文进行路由。此时音频上下文不支持选择音频输出设备。