HarmonyOS鸿蒙Next企业面试题 音乐播放器如何实现后台播放音乐?

HarmonyOS鸿蒙Next音乐播放器后台播放音乐通过后台任务backgroundTaskManager可以实现。

1、配置后台任务的权限

 {
        "name": "ohos.permission.KEEP_BACKGROUND_RUNNING"  // 长时任务权限
}

2、使用backgroundTaskManager.startBackgroundRunning配置音乐播放为后台任务

 async startBackgroundRunning() {
    const context = getContext()
    // 重点1: 提供音频后台约束能力,音频接入AVSession后,可以进行后台音频播放
    const session = await avSession.createAVSession(context, 'guardianSession', 'audio')
    await session.activate()
    // 获取 bundle 应用信息
    const bundleInfo = bundleManager.getBundleInfoForSelfSync(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION)
    // 通过wantAgent模块下getWantAgent方法获取WantAgent对象
    const wantAgentObj = await wantAgent.getWantAgent({
      // 添加需要被拉起应用的bundleName和abilityName
      wants: [{ bundleName: bundleInfo.name, abilityName: "EntryAbility" }],
      // 使用者自定义的一个私有值
      requestCode: 0,
    })
    // 重点2: 创建后台任务
    await backgroundTaskManager.startBackgroundRunning(context,
      backgroundTaskManager.BackgroundMode.AUDIO_PLAYBACK, wantAgentObj)
  }

更多关于HarmonyOS鸿蒙Next企业面试题 音乐播放器如何实现后台播放音乐?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

回到顶部