uni-app uni.getBackgroundAudioManager没有在安卓通知栏上展示音乐
uni-app uni.getBackgroundAudioManager没有在安卓通知栏上展示音乐
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | Windows10 | HBuilderX |
示例代码:
audioCtx.title = '致爱丽丝';
audioCtx.singer = 'singer';
audioCtx.epname= 'epname';
audioCtx.coverImgUrl = 'https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/music-a.png';
audioCtx.src = 'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-hello-uniapp/2cc220e0-c27a-11ea-9dfb-6da8e309e0d8.mp3';
操作步骤:
直接运行
预期结果:
和IOS上一样,背景音频 播放音乐时,在系统通知栏上显示音乐
实际结果:
通知栏上没有音乐展示
bug描述:
uni.getBackgroundAudioManager() 背景音频 播放音乐时 有音乐播放,但是在系统通知栏上没有显示音乐
2 回复
在 uni-app 中使用 uni.getBackgroundAudioManager
时,如果发现音乐没有在安卓通知栏上展示,可能是由于以下原因导致的。以下是一些常见的排查和解决方法:
1. 检查权限配置
确保在 manifest.json
中正确配置了安卓通知栏权限:
{
"app-plus": {
"distribute": {
"android": {
"permissions": [
"android.permission.FOREGROUND_SERVICE",
"android.permission.WAKE_LOCK"
]
}
}
}
}
这些权限是后台播放音乐和显示通知栏所必需的。
2. 设置通知栏信息
uni.getBackgroundAudioManager
提供了 title
和 coverImgUrl
属性,用于设置通知栏的标题和封面图片。确保正确设置了这些属性:
const bgAudioManager = uni.getBackgroundAudioManager();
bgAudioManager.title = '音乐标题';
bgAudioManager.coverImgUrl = 'https://example.com/cover.jpg';
bgAudioManager.src = 'https://example.com/music.mp3';
3. 检查后台播放配置
在 manifest.json
中,确保启用了后台播放功能:
{
"app-plus": {
"background": {
"audio": true
}
}
}
4. 检查安卓系统版本
某些安卓系统版本(如 Android 8.0 及以上)对后台服务和通知栏有更严格的限制。确保你的应用适配了这些限制。
5. 调试日志
在代码中添加调试日志,检查 uni.getBackgroundAudioManager
是否正常初始化,以及是否有错误信息:
const bgAudioManager = uni.getBackgroundAudioManager();
bgAudioManager.onPlay(() => {
console.log('音乐开始播放');
});
bgAudioManager.onError((err) => {
console.error('播放错误', err);
});