You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firefox 58版本下sipML5无音频问题求助

解决Firefox 58下sipML5无音频问题(因mozSrcObject被移除)

我前阵子刚碰到一模一样的问题——升级到Firefox 58后,用doubango的SIPml-api.js做的SIP通话突然没了音频。查了Firefox的更新日志才发现,Firefox 58正式移除了mozSrcObject前缀属性,强制使用标准的HTMLMediaElement.srcObject(对应bug 1183495),而SIPml-api.js里正好有两处还在依赖废弃的mozSrcObject,这就是问题根源。

具体修改步骤

你需要打开SIPml-api.js,找到以下两处代码并修改:

1. 修改tsip_stack.prototype.on_media_add_stream函数

原来的代码片段大概是这样的:

if (oMedia.mozSrcObject) {
    oMedia.mozSrcObject = oStream;
} else {
    oMedia.src = window.URL.createObjectURL(oStream);
}

替换成标准属性的判断与赋值:

if ('srcObject' in oMedia) {
    oMedia.srcObject = oStream;
} else {
    oMedia.src = window.URL.createObjectURL(oStream);
}

2. 修改tsip_session.prototype.on_remote_stream_added函数

同样找到里面使用mozSrcObject的代码块,把所有oMedia.mozSrcObject的引用都替换成oMedia.srcObject,判断条件也改成检查'srcObject' in oMedia。

为什么这样改?

Firefox 58之后不再支持带moz前缀的媒体流绑定方式,原来的代码因为尝试给不存在的mozSrcObject赋值,导致音频流无法正确挂载到HTML媒体元素上,自然就听不到声音了。改用标准的srcObject后,既能兼容Firefox 58+,也能适配其他现代浏览器(Chrome、Edge等早就支持标准属性了)。

修改完之后重新部署代码,Firefox下的音频问题应该就能解决了。

内容的提问来源于stack exchange,提问作者Yasser Gutierrez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:58:57