菜菜2
菜菜2
  • 发布:2025-07-15 18:01
  • 更新:2025-07-16 09:14
  • 阅读:84

【报Bug】app 使用video 2倍速播放某些视频时,出现音画不同步,播放到最后面音频结束了,画面还没播放结束

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: Apple M2;MacOS 14.5 (23F79)

HBuilderX类型: 正式

HBuilderX版本号: 4.66

手机系统: Android

手机系统版本号: Android 13

手机厂商: 安卓平板/学习机

手机机型: 安卓平板

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<video id="myVideo" src="https://XXX/2minute-demo.mp4" controls></video>

操作步骤:

1、在vue3,app,nuve页面使用video播放某些视频,设置2倍速播放

2、出现音频2倍速播放,但是画面并没有达到2倍速,导致最终音频已经播放结束没有声音;画面还在继续播放中。这时候的timeupdate里获取的当前视频时间超过了视频总时长

预期结果:

1、音画同步

实际结果:

1、2倍速播放,音画不同步

bug描述:

1、在vue3,app,nuve页面使用video播放某些视频,设置2倍速播放

2、出现音频2倍速播放,但是画面并没有达到2倍速,导致最终音频已经播放结束没有声音;画面还在继续播放中。这时候的timeupdate里获取的当前视频时间超过了视频总时长

3、修改video的解码模式codec和播放策略play-strategy,依然一样的结果:音画不同步

2025-07-15 18:01 负责人:无 分享
已邀请:
qjr

qjr

可以关注一下这篇文章:https://ask.dcloud.net.cn/article/39136 里面的参数可能会对你的这个情况有用;

  • 菜菜2 (作者)

    好的,谢谢,我看下

    2025-07-16 09:19

  • 菜菜2 (作者)

    advanced 可以直接在uniapp video标签上直接设置属性吗,还是说需要使用ijkplayer 才有这个属性?

    2025-07-16 09:34

  • qjr

    回复 菜菜可以直接设置advanced 这个属性值的,文章下面也有例子可以参考一下;

    2025-07-16 10:32

  • 菜菜2 (作者)

    我设置了advanced属性值:

    {

    key: "max-fps",

    value: 60,

    type: "player",

    }, {

    key: "framedrop", //跳帧处理,CPU处理较慢时,进行跳帧处理,保证播放流程,画面和声音同步

    value: 5,

    type: "player",

    },

    //设置播放前的探测时间 1,达到首屏秒开效果

    {

    "key": "analyzeduration",

    "value": 100,

    "type": "format",

    },

    //设置循环播放次数

    {

    "key": "fflags",

    "value": "nobuffer",

    "type": "format",

    },

    // 最大缓冲大小,单位kb

    {

    "key": "max-buffer-size",

    "value": 1024 * 1024,

    "type": "player",

    },

    但是还没解决2倍速播放情况下,视频画面并没有达到2倍速,依然音画不同步,我都怀疑设置了是不是没效果了

    2025-07-16 11:07

  • qjr

    回复 菜菜2: 检查一下是否视频源有问题;配置advanced属性值是肯定有效果的,能不能解决你的业务要求就不清楚了;

    2025-07-16 11:19

  • 菜菜2 (作者)

    回复 qjr: 视频源放到pc浏览器直接选择2倍速播放,画面和音频都正常;用ffmpeg方式查看视频信息,也没看出它有什么问题

    2025-07-16 14:08

要回复问题请先登录注册