收藏
回答

video播放监控视频无法在安卓微信版本7.0.12上播放

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug Android android 10 华为-YAL-AL00 7.0.12

监控视频在7.0.12的微信开发者工具上能打开,但无法在7.0.12版本微信的安卓手机上播放,在7.0.4版本,7.0.10版本是正常的,使用的代码块例子为video原DEMO改了地址:http://222.77.85.220:80/live/31000000002000000000/31000000001320000552/0_2/a.m3u8

返回的错误消息是MEDIA_ERR_DECODE(-4999,-1),开发者工具和IOS都可以播放

微信开发者工具PC调试

真机调试返回(7.0.12版本微信)

真机调试(7.0.10版本微信)

视频流编码信息

<view class="page-body">

  <view class="page-section tc">

    <video id="myVideo" 

  src="http://222.77.85.220:80/live/31000000002000000000/31000000001320000552/0_2/a.m3u8" binderror="videoErrorCallback" danmu-list="{{danmuList}}" enable-danmu danmu-btn controls></video>


    <view class="weui-cells">

      <view class="weui-cell weui-cell_input">

        <view class="weui-cell__hd">

          <view class="weui-label">弹幕内容</view>

        </view>

        <view class="weui-cell__bd">

          <input bindblur="bindInputBlur" class="weui-input" type="text" placeholder="在此处输入弹幕内容" />

        </view>

      </view>

    </view>

    <view class="btn-area">

      <button bindtap="bindSendDanmu" class="page-body-button" type="primary" formType="submit">发送弹幕</button>

      <button bindtap="bindPlay" class="page-body-button" type="primary">播放</button>

      <button bindtap="bindPause" class="page-body-button" type="primary">暂停</button>

    </view>

  </view>

</view>



function getRandomColor () {

  const rgb = []

  for (let i = 0 ; i < 3; ++i){

    let color = Math.floor(Math.random() * 256).toString(16)

    color = color.length == 1 ? '0' + color : color

    rgb.push(color)

  }

  return '#' + rgb.join('')

}


Page({

  onReady: function (res) {

    this.videoContext = wx.createVideoContext('myVideo')

  },

  inputValue: '',

    data: {

    src: '',

    danmuList:

      [{

        text: '第 1s 出现的弹幕',

        color: '#ff0000',

        time: 1

      },

      {

        text: '第 3s 出现的弹幕',

        color: '#ff00ff',

        time: 3

      }]

    },

  bindInputBlur: function(e) {

    this.inputValue = e.detail.value

  },

  bindSendDanmu: function () {

    this.videoContext.sendDanmu({

      text: this.inputValue,

      color: getRandomColor()

    })

  },

  bindPlay: function() {

    this.videoContext.play()

  },

  bindPause: function() {

    this.videoContext.pause()

  },

  videoErrorCallback: function(e) {

    console.log('视频错误信息:')

    console.log(e.detail.errMsg)

  }

})

最后一次编辑于  2020-04-02
回答关注问题邀请回答
收藏

1 个回答

  • 是小白啊
    是小白啊
    2020-04-02

    使用域名访问

    2020-04-02
    有用
    回复 8
    • 偉Vae
      偉Vae
      2020-04-02
      已改,还是一样报错MEDIA_ERR_DECODE(-4999,-1)
      2020-04-02
      回复
    • 偉Vae
      偉Vae
      2020-04-02
      http://rstp1.ylsiot.com/live/31000000002000000000/31000000001320000552/0_2/a.m3u8
      2020-04-02
      回复
    • 是小白啊
      是小白啊
      2020-04-03回复偉Vae
      在浏览器点击也是下载,建议自查下
      2020-04-03
      回复
    • 偉Vae
      偉Vae
      2020-04-03回复是小白啊
      不是,你用7.0.12不能打开,用7.0.10能打开,跟该地址是不是下载有关系??而且,浏览器识别到带后缀名的默认都是下载,这个播放地址肯定是用播放器打开而不是用浏览器直接开的啊
      2020-04-03
      回复
    • 偉Vae
      偉Vae
      2020-04-03回复是小白啊
      播放m3u8流的方式,不是直接用浏览器打开的亲
      2020-04-03
      回复
    查看更多(3)
登录 后发表内容
问题标签