收藏
回答

video组件播放m3u8流后无法暂停

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug video 微信iOS客户端 8.0.27 2.26.1

问题很容易复现,随便找一段直播m3u8流,推流端停止推流后,小程序中video请求必然发生错误,我在binderror处绑定了错误处理事件

wxml

<video src="{{video.src}}" id="video" binderror="videoState" wx:if="{{video.src}}"></video>


js部分,1采用videoContext的stop方法,无法停止

videoState (res) {
  if (res.type == 'error') {
    wx.createSelectorQuery().select('#video').fields({ context: true }, res => { res && res.context.stop() }).exec()
  }
}

js部分,2采用直接移除掉video标签的方法,也无法停止

videoState (res) {
  if (res.type == 'error') {
    this.setData({ 'video.src': '' })
  }
}


以上两种方式都无法在小程序中停止拉流,控制台也一直反应在不停的拉流,然后不停的触发error事件。



最后一次编辑于  2022-09-19
回答关注问题邀请回答
收藏

6 个回答

  • Demons
    Demons
    2022-09-20

    请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2022-09-20
    有用
    回复 7
    查看更多(2)
  • 木白
    木白
    2023-10-27

    video.src设置为“”没用的,应该再次把video.src设置为其他视频路径(比如不存在的mp4视频路径)即可中断hls.m3u8的持续请求

    2023-10-27
    有用 2
    回复 1
    • 周飞
      周飞
      2023-11-02
      你说的方法无效,至少开发者工具里面我看到的还是在请求之前的播放地址
      2023-11-02
      回复
  • elseIf
    elseIf
    01-24

    2024年1月24日,同问,解决了吗?

    01-24
    有用
    回复 1
    • elseIf
      elseIf
      01-25
      楼上木白的解决方法,我这边起到了作用,非常感谢
      01-25
      回复
  • 王洪英
    王洪英
    2023-11-16

    同问,作者解决了吗?我也碰到这个问题


    

    2023-11-16
    有用
    回复
  • PleaseMe
    PleaseMe
    2023-07-26

    23年7月26日,同问,问题解决了吗

    2023-07-26
    有用
    回复
  • 
    2023-04-28

    同问,作者解决了吗?

    2023-04-28
    有用
    回复
登录 后发表内容