# 播控中心通知栏显示问题

#### 问题现象

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

#### 背景知识

*   媒体播放状态（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.  通知栏播控显示效果。
    
    参考播控中心和实况窗，播控中心是一种系统设计的实况窗。通知栏播控包括通知中心、锁屏页的播控展示。