uni-app playbackRate设置1.25,1.5均无效,0.5/0.8有效

uni-app playbackRate设置1.25,1.5均无效,0.5/0.8有效

开发环境 版本号 项目创建方式
Windows 10 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:windows 10

HBuilderX类型:正式

HBuilderX版本号:3.1.2

手机系统:iOS

手机系统版本号:iOS 15

手机厂商:苹果

手机机型:iphone 13

页面类型:vue

vue版本:vue2

打包方式:云端

# 操作步骤:
任何

# 预期结果:
任何

# 实际结果:
任何

## bug描述:
playbackRate,1.25,1.5都无效,0.5/0.8有效

更多关于uni-app playbackRate设置1.25,1.5均无效,0.5/0.8有效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

3.1.17 正式版 已经修复了 该问题

更多关于uni-app playbackRate设置1.25,1.5均无效,0.5/0.8有效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


app需要重新打包吗

升级hbuilder x,然后重新打包?

回复 1***@qq.com: 是的

这是一个iOS平台上的已知限制。在iOS系统中,playbackRate属性的支持情况与Android不同,iOS的WKWebView对播放速率的支持存在特定限制。

关键原因: iOS的AVPlayer对播放速率有严格限制,通常只允许设置为预定义的几个值(如0.5、0.8、1.0、1.25、1.5、2.0等)。但实际支持情况可能因系统版本和设备而异。在某些iOS版本中,1.25和1.5可能不被支持,而0.5和0.8则通常可以正常工作。

解决方案:

  1. 检查系统支持:在设置playbackRate前,先通过uni.createVideoContext获取video上下文,然后尝试设置速率并监听相关事件。
  2. 使用插件:考虑使用原生插件(如uni-app官方插件市场的视频播放插件)来获得更稳定的倍速播放支持。
  3. 降级处理:如果1.25和1.5无效,可以提供用户反馈,提示当前设备不支持该倍速。

代码示例:

const videoContext = uni.createVideoContext('myVideo');
videoContext.playbackRate = 1.5; // 尝试设置
// 监听播放速率变化事件
videoContext.onRateChange((res) => {
  console.log('当前播放速率:', res.rate);
});
回到顶部