我正在从 WebRTC 获取媒体流并进行一些音频处理和监控。它可以在 FireFox 上运行,但在 Chrome 上保持沉默。
这是一个简化版本,以单个增益节点为例。
const AudioContext = window.AudioContext || window.webkitAudioContext;
let myAudioCtx = new AudioContext();
let mySource = myAudioCtx.createMediaStreamSource(stream);
let gainNode = myAudioCtx.createGain();
gainNode.gain.value = 2;
mySource.connect(gainNode);
gainNode.connect(myAudioCtx.destination);
Run Code Online (Sandbox Code Playgroud)
而如果我直接将流分配给 srcObject,我就会听到声音。
看来 createMediaStreamSource() 没有返回任何音频,因为我的监控显示静音。但是,如果我将来自 WebRTC 的流分配给 srcObect 并通过我的监控运行,那么监控会检测到声音。
myAudioCtx.state 说“正在运行”
想不出还有什么地方可以检查。任何帮助,将不胜感激