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-app
的 3.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