JavaScript自动播放视频在iOS Safari上无法正常工作。

4

我正在尝试从手机摄像头获取视频流,并在视频元素上显示该流。以下是我拥有的代码要点:

    ...
    navigator.mediaDevices.getUserMedia(constraints)
    .then((stream)=>{
        video.srcObject=stream;
        video.volume=0;
        video.mute=0;
        video.play(); //error here on  iOS Safari
        ...

虽然这在所有桌面和安卓浏览器上都有效,但在iOS上似乎不起作用,会在video.play()行上出现错误。

据我目前所了解的,这似乎是Safari在移动设备上采取的安全措施,以防止网站消耗用户过多的数据。这意味着,除非由用户明确启动,否则浏览器将不允许video.play()

我已经尝试在视频元素本身上添加"muted"属性(除了autoplay之外),但似乎没有解决问题。

因此,我想知道是否有其他解决方法,或者我应该寻找其他显示视频的方法。任何帮助/建议都将不胜感激。

1个回答

8

3
你节省了我很多时间。 - Asiri Dissanayaka
1
我的英雄!...... - Rob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接