uni-app uni.getBackgroundAudioManager没有在安卓通知栏上展示音乐

发布于 1周前 作者 vueper 来自 Uni-App

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 提供了 titlecoverImgUrl 属性,用于设置通知栏的标题和封面图片。确保正确设置了这些属性:

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);
});
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!