收藏
回答

微信内video标签自动播放hls直播流currentTime不对

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug Android 安卓10 小米9se 7.0.13

微信公众号 webview

<!DOCTYPE html>
<html lang="en">


<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        video {
            width: 100%;
            height: 90%;
        }


        .time {
            height: 30px;
            border: 1px solid #eee;
        }
    </style>
</head>


<body>
    <video
        src="https://play.ourwill.cn/tuwenzb/twv1_388400_lud.m3u8?auth_key=1588677727-0-0-71cda31ddd9715a46c9191e553b6b03a"
        id="1" controls x5-video-player-type="h5-page" muted></video>
    <div class="time"></div>
</body>
<script>
    const v = document.querySelector("video")
    const t = document.querySelector(".time")
    // 使用WeixinJSBridgeReady 即得到的currentTime 就是定值了
    // 非用户触发的play事件,currentTime的值始终不对
    // 添加autoplay 属性,也会造成影响
    document.addEventListener('WeixinJSBridgeReady', () => {
        v.play()
    });
    // document.addEventListener('YixinJSBridgeReady', () => {
    //     v.play()
    // });
    // document.addEventListener('touchstart', () => {
    //     v.play()
    // })
    v.addEventListener('timeupdate', (e) => {
        t.innerHTML = e.target.currentTime
    })
    setInterval(() => {
        t.innerHTML = v.currentTime
    }, 1000);
</script>


</html>


前提:

  1. video 的src是hls直播流
  2. 安卓环境
  3. 非用户触发过play事件,即touch或WeixinJSBridgeReady等调用过play,无论是否成功;

currentTime 取到的不对, 始终为0.001

即使后续用户点击video play, 也不能正常





回答关注问题邀请回答
收藏

2 个回答

  • 2021-03-15

    请问这个问题解决了吗

    2021-03-15
    有用
    回复
  • 灵芝
    灵芝
    2020-05-06

    你好,其他机型是否有问题?麻烦提供测试链接看下

    2020-05-06
    有用
    回复 2
    • yetherine
      yetherine
      2020-09-14
      iphone 11 系统13.6 微信7.0.15版本小程序里也有同样问题 currentTime始终是0
      2020-09-14
      回复
    • 阿噗
      阿噗
      2020-09-23
      遇到同样问题,直播流的视频获取到的currentTime一直为0
      2020-09-23
      回复
登录 后发表内容
问题标签