uni-app 安卓 音频播放无onTimeUpdate回调
uni-app 安卓 音频播放无onTimeUpdate回调
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | 10.15.6 | HBuilderX |
| Android | Android 10 | |
| 小米 | k20 pro |
音频播放,播放源bgAudioManager.src不一样会导致onTimeUpdate不触发,这是什么问题?
无回调onTimeUpdate
const bgAudioManager = uni.getBackgroundAudioManager();
bgAudioManager.title = '致爱丽丝';
bgAudioManager.singer = '暂无';
bgAudioManager.coverImgUrl = 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-uni-app-doc/7fbf26a0-4f4a-11eb-b680-7980c8a877b8.png';
bgAudioManager.src = 'https://96.f.1 Ting.com/local_to_cube_202004121813/96kmp3/2020/08/21/21a_zj/01.mp3';
bgAudioManager.onPlay(function() {
console.log('onPlay')
})
bgAudioManager.onTimeUpdate(function() {
console.log('onTimeUpdate')
})
有回调onTimeUpdate
const bgAudioManager = uni.getBackgroundAudioManager();
bgAudioManager.title = '致爱丽丝';
bgAudioManager.singer = '暂无';
bgAudioManager.coverImgUrl = 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-uni-app-doc/7fbf26a0-4f4a-11eb-b680-7980c8a877b8.png';
bgAudioManager.src = 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3';
bgAudioManager.onPlay(function() {
console.log('onPlay')
})
bgAudioManager.onTimeUpdate(function() {
console.log('onTimeUpdate')
})
相关链接:
更多关于uni-app 安卓 音频播放无onTimeUpdate回调的实战教程也可以访问 https://www.itying.com/category-93-b0.html
6 回复
下个版本修复,目前仅在Android上有问题
更多关于uni-app 安卓 音频播放无onTimeUpdate回调的实战教程也可以访问 https://www.itying.com/category-93-b0.html
特定手机?还是安卓就有这个问题?
Android有这个问题,和音频源有关,和机型没有关系
3.2.15.20211120 这个版本有修复这个问题吗?
HBuilder X 3.3.0-alpha已修复,请升级
这个问题通常与音频源的格式或编码有关。不同音频文件可能采用不同的编码方式,部分编码格式在安卓平台上可能无法正常触发 onTimeUpdate 回调。
从你提供的代码来看,两个音频源的主要区别在于:
- 第一个链接(无回调)是
.mp3文件 - 第二个链接(有回调)也是
.mp3文件
但实际差异可能在于:
- 音频编码参数不同(比特率、采样率等)
- 文件头信息不完整
- 流媒体服务器的响应头设置
解决方案:
-
检查音频格式兼容性 尝试将音频文件转换为标准 MP3 格式,使用一致的编码参数(如 128kbps、44.1kHz)。
-
使用本地音频文件测试 下载音频文件到本地,通过相对路径测试,排除网络流媒体问题:
bgAudioManager.src = '/static/audio/test.mp3'; -
添加错误监听 补充错误处理,查看是否有相关报错:
bgAudioManager.onError(function(res) { console.log('音频错误:', res); });

