Chrome使用AudioContext无法输出WebRTC音频问题求助
解决Chrome中AudioContext无音频输出的问题
Chrome的音频上下文激活限制:Chrome对AudioContext有严格的自动暂停策略,必须通过用户交互(如点击、触摸事件)触发初始化或恢复,不能在页面加载时自动创建并使用。
修正方案1:在用户交互中初始化AudioContext
把AudioContext的创建逻辑放到用户触发的事件回调里,比如「开始通话」按钮的点击事件:let audioContext; // 绑定用户交互事件 document.querySelector('#start-call-btn').addEventListener('click', () => { if (!audioContext) { audioContext = new AudioContext(); // 创建源节点并连接到输出 const audioSourceNode = audioContext.createMediaStreamSource(stream); audioSourceNode.connect(audioContext.destination); } });修正方案2:恢复已暂停的AudioContext
如果AudioContext已经创建但处于suspended状态,需要在用户交互中调用resume():// 假设audioContext已提前创建 document.querySelector('#resume-audio').addEventListener('click', async () => { if (audioContext.state === 'suspended') { await audioContext.resume(); } });无需结合:只要正确处理AudioContext的激活逻辑,单独使用AudioContext就能在Chrome中正常输出音频。之前
内容的提问来源于stack exchange,提问作者enyo
相关产品推荐
相关产品推荐

