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

Use single AudioContext with AudioElement while audioElement use different output devices

我有一个用例可以在选择不同的输出设备时可视化单个音频文件的音频输出电平。我采用了将 AudioContext 与 audioElement 一起使用的方法,但我意识到我不能简单地在 audioElement 中设置不同的 sinkId,而它与 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);`

您目前无法实现您想要的。一旦您的音频元素连接到音频上下文,所有音频都会通过该上下文进行路由。并且音频上下文目前不支持选择音频输出设备。