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

移动端及Safari浏览器中HTML audio元素currentTime属性值异常偏高问题求助

移动端及Safari浏览器中HTML audio元素currentTime属性值异常偏高问题求助

各位大佬好,我现在在开发一个带VoIP功能的网站,用PeerJS将通话另一端用户的MediaStream设置到audio元素的srcObject属性上,同时通过每秒获取该audio元素的currentTime属性来展示通话已进行的时长。

这个逻辑在桌面浏览器上运行完全正常,但在移动浏览器(尤其是iOS平台的Chrome)和macOS的Safari里却出现了异常:currentTime的数值高得离谱,明明通话才刚刚开始,它却显示已经过去了好几个小时。

有没有小伙伴也遇到过同样的情况,或者知道这一问题的原因呀?

以下是我用来复现问题的简化代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1"/>
</head>
<body>

<audio id="audioElement" autoplay></audio>
<div>Time passed: <span id="timePassed"></span></div>

<script type="module">
    const audioElement = document.getElementById("audioElement");
    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
    audioElement.srcObject = stream;

    setInterval(() => {
        document.getElementById("timePassed").innerText = audioElement.currentTime;
    }, 1000)
</script>
</body>
</html>

备注:内容来源于stack exchange,提问作者Vlad Mashkautsan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.14 12:33:08