【问题标题】:Autoplaying Video element from Javascript does not work on iOS Safari从 Javascript 自动播放视频元素在 iOS Safari 上不起作用
【发布时间】:2020-01-09 06:03:42
【问题描述】:

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

    ...
    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() 线上的错误。

据我目前了解,这似乎是一个safety measure by Safari on mobile,以防止网站消耗过多的用户数据。意思是,除非用户特别发起,否则浏览器不会允许video.play()

我尝试在视频元素本身上添加“muted”属性(除了autoplay),但这似乎并没有解决问题。

所以,我想知道这里是否有任何其他补救措施可以解决此问题,或者我是否应该寻找其他方法来显示视频供稿。非常感谢任何帮助/建议。

【问题讨论】:

    标签: javascript html webrtc mobile-safari


    【解决方案1】:

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

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

    【讨论】:

    • 你为我节省了很多时间。
    • 我的英雄!........
    猜你喜欢
    • 2022-01-19
    • 2021-03-06
    • 2015-12-14
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 2015-10-04
    • 2014-01-04
    • 1970-01-01
    相关资源
    最近更新 更多