Javascript中的自动播放视频元素在iOS Safari中不起作用

问题描述 投票:1回答:1

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

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

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

根据目前为止的了解,这似乎是safety measure by Safari on mobile,可以防止网站占用过多的用户数据。意思是,除非用户特别启动,否则浏览器将不允许video.play()

我曾尝试在视频元素本身上添加“ muted”属性(仅autoplay之外,但这似乎无法解决问题。

所以,我想知道这里是否还有其他解决方法,或者我是否应该寻找其他方式来显示视频供稿。任何帮助/建议都将不胜感激。

javascript html webrtc mobile-safari
1个回答
0
投票

您是否尝试过将playsinline添加到视频元素?

https://webkit.org/blog/6784/new-video-policies-for-ios/

© www.soinside.com 2019 - 2024. All rights reserved.