文档管理中心
您当前正在浏览新版开发者文档中心,目录分类和层级有所调整。点击左侧当前文档分类名称前的“☰”图标,可切换文档分类。 了解新版目录
问题处理与运维开发与测试问题媒体开发音频和视频音视频播控(AVSession)播控中心通知栏显示问题

播控中心通知栏显示问题

问题现象

播控中心通知栏的触发条件,显示效果,删除效果,以及常见问题说明。

背景知识

  • 媒体播放状态(AVPlaybackState):用于描述媒体播放状态的相关属性,包含当前媒体的播放状态(state)、播放位置(position)、播放倍速(speed)、缓冲时间(bufferedTime)、循环模式(loopMode)、是否收藏(isFavorite)、正在播放的媒体Id(activeItemId)、自定义媒体数据(extras)等属性。
  • 注册控制命令:应用接入AVSession,可以通过注册不同的控制命令来实现播控中心界面上的控制操作,即通过on接口注册不同的控制命令参数,即可实现对应的功能。具体的接口参考接口注册。
  • AVSession Kit:AVSession Kit(Audio & Video Session Kit,音视频播控服务)是系统提供的音视频管控服务,用于统一管理系统中所有音视频行为,帮助开发者快速构建音视频统一展示和控制能力。音视频应用在实现音视频功能的同时,需要接入媒体会话即AVSession Kit,参考应用接入AVSession场景介绍。
  • 播控中心:媒体播控用于显示当前设备正在播放的音视频媒体信息,以及帮助用户高效快捷地管理媒体内容的播放。其中,通知中心、锁屏与锁屏(沉浸模式)场景的播控页随接入播控中心的特定类型音频流启动而启动。且当手动删除通知中心播控页时,会通过播控中心对音频流进行暂停控制,待下次音频流启动时通知中心播控页恢复,同时锁屏与**锁屏(沉浸模式)**播控页恢复。

解决方案

  1. 通知栏播控显示方式。
    • 正确接入AVSession。
      • 对于媒体类应用接入AVSession,创建AVSession时需要选择会话类型(AVSessionType)为'audio'或者'video'。
      • 在创建完成AVSession后,还必须要设元数据(AVMetadata),并至少注册一个控制命令(播放、暂停等),播控中心才能正常显示。
    • 通知栏播控显示条件。

      正确接入AVSession后,通知栏播控页会随音频流启动时,通过AVSession发通知,此时可以正常显示通知栏播控。若通知栏播控消失,则下次应用内音频流启动时恢复。

    • 通知栏播控自动删除。

      当播控中心状态为暂停状态时,会启动10min的计时,若持续10min均为暂停状态,通知栏播控将会自动删除。

  2. 通知栏播控删除时的回调监听。
    • 删除通知栏播控时,播控中心将发出pause命令,若已激活AVSession,可以通过on('pause')监听到播控中心发出的pause命令。
    • 通过监听长时任务取消。HarmonyOS6.0前,后台接入长时任务时,若删除通知栏播控,对应的长时任务将会被同步删除。HarmonyOS6.0后,删除通知栏播控后,将会发送长时任务通知,继续删除长时任务通知才会取消对应的长时任务。
  3. 通知栏播控显示效果。

    参考播控中心和实况窗,播控中心是一种系统设计的实况窗。通知栏播控包括通知中心、锁屏页的播控展示。