收藏
回答

VideoDecoder getFrameData 在安卓上视频解码未结束,但是返回 null ?

视频地址 https://cdn2.h5no1.com/static-cdn/cpbz/v.mp4

用 wx.downloadFile 下载一个 21 秒的视频,然后使用 VideoDecoder 解码,在安卓上,总是解码到 16 秒的位置就停住了,getFrameData 返回 null

没有触发 ended 事件

没有触发 stop 事件

触发了一次 bufferchange 事件

在 ios 上正常

Page({
  videoSrc: 'https://cdn2.h5no1.com/static-cdn/cpbz/v.mp4',
  vDec: null,
  onReady() {
    this.vDec = wx.createVideoDecoder();
    console.log('开始下载视频文件');
    wx.downloadFile({
      url: this.videoSrc,
      success: res => {
        console.log('下载视频文件完成');
        this.vDec.start({
          source: res.tempFilePath
        });
      }
    });
    this.vDec.on('start', () => {
      console.log('开始解码视频, 24fps');
      this.timer = setInterval(() => {
        const frame = this.vDec.getFrameData();
        if (frame) {
          console.log('frame', frame); // 到 16 秒的时候 就开始返回 null
        }
      }, 1000 / 24);
    });
    this.vDec.on('ended', () => {
      console.log('解码视频结束 ended');
      clearInterval(this.timer);
    });
    this.vDec.on('stop', () => {
      console.log('stop');
    });
    this.vDec.on('bufferchange', () => {
      console.log('bufferchange');
    });
  }
});
回答关注问题邀请回答
收藏

3 个回答

  • TTc
    TTc
    2020-10-11

    你这段代码我真机调试直接闪退。

    2020-10-11
    有用
    回复 4
    • TTc
      TTc
      2020-10-11
      最新版ios微信
      2020-10-11
      回复
    • TTc
      TTc
      2020-10-11
      直接闪退https://developers.weixin.qq.com/s/htuWu2mE7wjD
      2020-10-11
      回复
    • TTc
      TTc
      2020-10-11
      开始下载视频文件
      下载视频文件完成

      就这两条log
      2020-10-11
      回复
    • 长空
      长空
      2020-10-19
      VideoDecoder getFrameData 无法真机调试
      2020-10-19
      回复
  • 长空
    长空
    2020-07-28

    我这测试安卓也一样,只能度131帧,后面就都null了。

    2020-07-28
    有用
    回复
  • 灵芝
    灵芝
    2020-07-22

    你好,麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2020-07-22
    有用
    回复 5
    • 李小凯:9090
      李小凯:9090
      2020-07-22
      代码片段:https://developers.weixin.qq.com/s/htuWu2mE7wjD
      机型:Xiaomi 8 Lite
      微信版本:7.0.16
      系统版本:MIUI 11.0.2  Android 10
      2020-07-22
      回复
    • 灵芝
      灵芝
      2020-07-23回复李小凯:9090
      只有Xiaomi 8 Lite有问题吗?这边使用小米note3测试未复现
      2020-07-23
      回复
    • 长空
      长空
      2020-08-23
      最新版ios也只能解码50帧,后面就返回null了,之前是正常的
      2020-08-23
      回复
    • 凯
      2022-06-17
      我也遇到这个问题了。解码器只能解码8秒左右的视频就开始返回null,请问有解决的办法吗
      2022-06-17
      回复
    • 錦
      2022-07-06回复
      我是给一个计数器,统计null的次数,没超过100次继续请求getFrameData
      2022-07-06
      回复
登录 后发表内容
问题标签