HarmonyOS 鸿蒙Next AvSession设置AVPlaybackState成功,但是通知栏直接不展示

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next AvSession设置AVPlaybackState成功,但是通知栏直接不展示 设置代码如下,但是播控中心展示时间异常,看日志状态设置成功了的SetAVPlaybackState successfully

this.getAvSession(context).then(result => {
  // 简单设置一个播放状态 - 暂停 未收藏
  let playbackState: AVSessionManager.AVPlaybackState = {
    state: state,
    position: {
      elapsedTime: current, // 已经播放的位置,以ms为单位
      updateTime: new Date().getTime(), // 应用更新当前位置的时间戳,以ms为单位
    },
    duration: total, // 资源的时长,以ms为单位
  };
  console.info(`SetAVPlaybackState2 successfully_${state}`);
  this.currentAVSession!!.setAVPlaybackState(playbackState, (err) => {
    if (err) {
      console.error(`Failed to set AVPlaybackState. Code: ${err.code}, message: ${err.message}`);
    } else {
      console.info(`SetAVPlaybackState successfully_${state}`);
    }
  });
})

更多关于HarmonyOS 鸿蒙Next AvSession设置AVPlaybackState成功,但是通知栏直接不展示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

需要在设置setAVMetadata传duration,更新状态传无效

更多关于HarmonyOS 鸿蒙Next AvSession设置AVPlaybackState成功,但是通知栏直接不展示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对您提到的HarmonyOS(鸿蒙)系统中Next AvSession设置AVPlaybackState成功但通知栏不展示的问题,可能的原因及解决方案如下:

  1. 通知权限未授予:确保应用已获取到在通知栏显示通知的权限。用户可能在系统设置中禁用了应用的通知权限,需要检查并重新授权。

  2. 通知渠道配置问题:鸿蒙系统引入了通知渠道管理,如果AVSession相关的通知未正确配置通知渠道,可能导致通知不显示。检查并确保已正确创建并配置了与AVSession相关的通知渠道。

  3. AVSession配置问题:检查AVSession的配置,确保已正确设置相关属性以支持在通知栏显示播放控制信息。

  4. 系统Bug或版本问题:有可能是鸿蒙系统的某个版本存在的Bug,导致AVSession的通知显示异常。可以尝试更新系统到最新版本,看是否解决问题。

  5. 应用兼容性问题:检查应用是否与当前鸿蒙系统版本完全兼容,有时应用未适配新版本系统可能导致功能异常。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部