移动端及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
相关产品推荐
相关产品推荐

