HarmonyOS 开启后台播放音频,切换到后台播放一段时间后,音频任务自己退出的问题?

在开启后台播放音频,切换到后台播放一段时间后,音频任务自己退出的问题:

async createSession() { 
  let type: AVSessionManager.AVSessionType = 'audio'; 
  let session = await AVSessionManager.createAVSession(this.context, 'AUDIO_NEWS', type); 
  // 激活接口要在元数据、控制命令注册完成之后再执行 
  await session.activate(); 
  console.info(`session create done : sessionId : ${session.sessionId}`); 
} 
//长时任务 
startContinuousTask() { 
  let wantAgentInfo: wantAgent.WantAgentInfo = { 
    // 点击通知后,将要执行的动作列表 
    // 添加需要被拉起应用的bundleName和abilityName 
    wants: [ 
      { 
        bundleName: "com.xxx.xxx.news", 
        abilityName: "com.xxx.xxx.news.EntryAbility" 
      } 
    ], 
    // 指定点击通知栏消息后的动作是拉起ability 
    actionType: wantAgent.OperationType.START_ABILITY, 
    // 使用者自定义的一个私有值 
    requestCode: 0, 
    // 点击通知后,动作执行属性 
    wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] 
  }; 
  // 通过wantAgent模块下getWantAgent方法获取WantAgent对象 
  wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj: WantAgent) => { 
    backgroundTaskManager.startBackgroundRunning(this.context, 
      backgroundTaskManager.BackgroundMode.AUDIO_PLAYBACK, wantAgentObj).then(() => { 
      console.info(`Succeeded in operationing startBackgroundRunning.`); 
    }).catch((err: BusinessError) => { 
      console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`); 
    }); 
  }); 
}
阅读 546
1 个回答

检查应用的电池优化设置,确保应用没有被系统设置为“省电模式”或“自动管理”,这可能会导致应用在后台被杀死。
使用锁屏权限或其他方法确保应用在后台持续运行。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题