uni-app [Bug]3.4.6版本下,背景音乐倍速模块在暂停情况下切换倍速,音频会自动播放

uni-app [Bug]3.4.6版本下,背景音乐倍速模块在暂停情况下切换倍速,音频会自动播放

[Bug]3.4.6下,背景音乐倍速模块-当暂停情况下,切换倍速,音频会自动播放,并且自动播放后,不会进入onPlay这个方法,这里最好是切换倍速的情况下不让它播放

7 回复

反馈问题请使用报bug模版吧,需要提供环境信息

更多关于uni-app [Bug]3.4.6版本下,背景音乐倍速模块在暂停情况下切换倍速,音频会自动播放的实战教程也可以访问 https://www.itying.com/category-93-b0.html


实例已上传,可以看看

这里是示例

iOS端bug已确认,下个版本会修复此问题,另外以后报问题请使用报bug模版,提供详细的环境信息,方法快速定位问题

HX 3.4.9+ 版本已修复此问题

uni-app3.4.6 版本中,背景音乐倍速模块在暂停情况下切换倍速时,音频会自动播放,这确实是一个 Bug。以下是一些可能的解决方案和临时应对措施:

1. 检查 uni-app 的官方文档和社区

  • 首先,建议查看 uni-app 的官方文档和社区,看看是否有关于此问题的已知 Bug 或解决方案。官方可能会在后续版本中修复此问题。

2. 手动控制播放状态

  • 在切换倍速之前,手动记录当前的播放状态(播放或暂停),然后在切换倍速后,根据记录的播放状态重新设置音频的播放状态。
let isPlaying = false; // 记录当前播放状态

// 切换倍速前记录播放状态
isPlaying = audioContext.paused ? false : true;

// 切换倍速
audioContext.playbackRate = newRate;

// 根据记录的播放状态重新设置
if (!isPlaying) {
    audioContext.pause();
}

3. 使用 setTimeout 延迟处理

  • 在切换倍速后,使用 setTimeout 延迟一小段时间再暂停音频,以避免自动播放的问题。
audioContext.playbackRate = newRate;

setTimeout(() => {
    if (!isPlaying) {
        audioContext.pause();
    }
}, 100); // 延迟 100ms

4. 升级 uni-app 版本

  • 如果此问题在 uni-app 的后续版本中已经修复,建议升级到最新版本。可以通过以下命令升级 uni-app
npm update uni-app
回到顶部