1***@qq.com
1***@qq.com
  • 发布:2020-07-31 12:14
  • 更新:2021-11-01 15:22
  • 阅读:1306

【报Bug】uni.getBackgroundAudioManager()的监听问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 2.8.3

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: MI9

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

//页面准备完成
onReady() {
//监听播放事件
bgAudioMannager.onPlay(function callback() {
console.log('播放了');
});
//监听暂停事件
bgAudioMannager.onPause(function callback() {
console.log('播放暂停了');
});
//监听播放自然结束事件
bgAudioMannager.onEnded(function callback() {
console.log('播放结束了')
});
},

//播放或暂停
play() {
let isplay = bgAudioMannager.paused;
if (isplay) {
bgAudioMannager.play();
} else {
bgAudioMannager.pause();
}

操作步骤:

设置uni.getBackgroundAudioManager()监听事件;
监听音频的播放状态

预期结果:

进入页面触发播放或暂停事件时触发一次监听事件, 打印:
//播放了
//播放暂停了

实际结果:

每次进入页面都会叠加一次监听
第一次进入页面,点击播放和暂停,打印:
//播放了
//播放暂停了

第二次进入,点击 打印:
//播放了
//播放了
//播放暂停了
//播放暂停了

第三次进入, 点击 打印:
//播放了
//播放了
//播放了
//播放暂停了
//播放暂停了
//播放暂停了

bug描述:

有两点bug:

1、uni.getBackgroundAudioManager()的监听会重复叠加,页面的卸载并不会消除监听。
2、uni.getBackgroundAudioManager().onTimeUpdate() 这个监听在手机上不会触发。

2020-07-31 12:14 负责人:无 分享
已邀请:
8***@qq.com

8***@qq.com

确实是这样,我这最近一直在调试这个音频后台播放

8***@qq.com

8***@qq.com

安卓播放长音频 远程src无法播放到结束就触发 onEnded了

8***@qq.com

8***@qq.com

uni.getBackgroundAudioManager().onTimeUpdate() 这个方法 只要一手动拖动播放进度条,马上监听失效,我手动写了个定时监听的

wuing

wuing - 一名喜欢uni-app的开发者

你好 我也遇到了这个问题 请问一下 楼主最后是怎么了吗 ? 请问是怎么解决的呢?

  • 1***@qq.com (作者)

    构造全局的方法,放到全局监听

    2021-12-22 22:29

该问题目前已经被锁定, 无法添加新回复