Gul*_*ard 6 html javascript google-chrome sip webrtc
我有网络应用程序可以在客户端之间进行音频通话。作为服务器,我通过安全 Web 套接字使用 FreeSwitch 和 SIP(使用 SIP.js)。当我在 Firefox 和 Firefox 之间进行呼叫时,一切正常,但是当我在 Firefox 和 chrome 之间进行呼叫时,我在 chrome 客户端上听不到任何声音。在 Firefox 客户端上,我可以听到从 chrome 发送的内容。
使用 Wireshark 我发现流到达客户端计算机并且是正确的。经过长时间的试验和错误,我发现audio在 js 代码中创建标签并为其分配远程流会有所srcObject帮助(从WebRTC 调整解决方案不适用于 AudioContext)。
const audioContext = (window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.oAudioContext || window.msAudioContext);
var aaaudio = new Audio(); <--- adding those lines helps
aaaudio.srcObject = sipSession.mediaHandler.getRemoteStreams()[0]; <--- adding those lines helps
audioContext.createMediaStreamSource(sipSession.mediaHandler.getRemoteStreams()[0])
var gainNode = ctx.createGain();
gainNode.gain.value = .5;
source.connect(gainNode);
gainNode.connect(ctx.destination);
Run Code Online (Sandbox Code Playgroud)
我真的不知道为什么没有音频标签就无法工作,以及如何修复它以使其在没有音频标签的情况下工作。我错过了什么吗?
Chrome 中是否有任何机制可以阻止 js 中连接的流的音频输出而不创建显式的新音频标签?
信息:Chrome 是在禁用和启用 cors 策略的情况下启动的
| 归档时间: |
|
| 查看次数: |
1097 次 |
| 最近记录: |