# Avsession ## 概述 音视频媒体会话,提供系统内媒体的统一控制能力。 功能包括媒体会话,媒体会话管理,媒体会话控制。 @syscap SystemCapability.Multimedia.AVSession.Core **Since:** 9 **Version:** 1.0 ## 汇总 ### 文件 | 名称 | 描述 | | -------- | -------- | | [av_session.h](av__session_8h.md) | 会话的设置、获取等声明。 | | [avcontrol_command.h](avcontrol__command_8h.md) | 音视频控制指令的设置、获取、拷贝等声明。 | | [avmeta_data.h](avmeta__data_8h.md) | 会话元数据设置、获取、拷贝等接口声明。 | | [avplayback_state.h](avplayback__state_8h.md) | 音视频播放状态声明。 | | [avsession_controller.h](avsession__controller_8h.md) | 控制器对象的描述,可获取会话的播放状态和会话元数据,远程发送控制命令到会话端也可以通过订阅监听会话段的更新事件。 | | [avsession_descriptor.h](avsession__descriptor_8h.md) | 会话的相关描述信息。 | | [avsession_errors.h](avsession__errors_8h.md) | 定义了avsession错误码。 | | [avsession_info.h](avsession__info_8h.md) | 定义了与avsession相关的监听器以及回调功能的实现。 | | [avsession_manager.h](avsession__manager_8h.md) | 定义了会话管理器对外接口的功能的实现。 | | [avsession_pixel_map.h](avsession__pixel__map_8h.md) | 读取、设置图片及图片信息。 | ### 结构体 | 名称 | 描述 | | -------- | -------- | | [OHOS::AVSession::OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md) | struct
描述分布式设备的相关信息。 | | [OHOS::AVSession::AVSessionDescriptor](o_h_o_s_1_1_a_v_session_1_1_a_v_session_descriptor.md) | struct
会话的相关描述信息。 | | [OHOS::AVSession::AVSessionBasicInfo](o_h_o_s_1_1_a_v_session_1_1_a_v_session_basic_info.md) | struct
会话基础信息描述。 | ### 函数 | 名称 | 描述 | | -------- | -------- | | [OHOS::AVSession::AVSessionDescriptor::WriteToParcel](#writetoparcel) (Parcel &out) const | bool
将会话相关描述信息写进包里。 | | [OHOS::AVSession::AVSessionDescriptor::ReadFromParcel](#readfromparcel) (Parcel &in) | bool
对会话相关描述信息进行解包。 | ### 变量 | 名称 | 描述 | | -------- | -------- | | [OHOS::AVSession::OutputDeviceInfo::isRemote_](#isremote) {} | bool
是否连接 | | [OHOS::AVSession::OutputDeviceInfo::deviceIds_](#deviceids) | std::vector< std::string >
分布式设备的id集合 | | [OHOS::AVSession::OutputDeviceInfo::deviceNames_](#devicenames) | std::vector< std::string >
分布式设备的名称集合 | | [OHOS::AVSession::AVSessionDescriptor::sessionId_](#sessionid) | std::string
会话的id | | [OHOS::AVSession::AVSessionDescriptor::sessionType_](#sessiontype) {} | int32_t
会话的类型 | | [OHOS::AVSession::AVSessionDescriptor::sessionTag_](#sessiontag) | std::string
会话的自定义名称 | | [OHOS::AVSession::AVSessionDescriptor::elementName_](#elementname) | AppExecFwk::ElementName
会话所属应用的信息包含bundleName,abilityName等 | | [OHOS::AVSession::AVSessionDescriptor::pid_](#pid) {} | pid_t
进程id | | [OHOS::AVSession::AVSessionDescriptor::uid_](#uid) {} | pid_t
用户id | | [OHOS::AVSession::AVSessionDescriptor::isActive_](#isactive) {} | bool
会话是否为激活状态 | | [OHOS::AVSession::AVSessionDescriptor::isTopSession_](#istopsession) {} | bool
会话是否是最新的会话 | | [OHOS::AVSession::AVSessionDescriptor::isThirdPartyApp_](#isthirdpartyapp) {} | bool
是否是第三方应用 | | [OHOS::AVSession::AVSessionDescriptor::outputDeviceInfo_](#outputdeviceinfo) | [OutputDeviceInfo](_o_h_o_s_1_1_a_v_session_1_1_output_device_info.md)
分布式设备相关信息 | | [OHOS::AVSession::AVSessionBasicInfo::deviceName_](#devicename) {} | std::string
设备名称 | | [OHOS::AVSession::AVSessionBasicInfo::networkId_](#networkid) {} | std::string
设备id | | [OHOS::AVSession::AVSessionBasicInfo::vendorId_](#vendorid) {} | std::string
供应商id | | [OHOS::AVSession::AVSessionBasicInfo::deviceType_](#devicetype) {} | std::string
设备类型 | | [OHOS::AVSession::AVSessionBasicInfo::systemVersion_](#systemversion) {} | std::string
系统版本 | | [OHOS::AVSession::AVSessionBasicInfo::sessionVersion_](#sessionversion) {} | int32_t
会话版本 | | [OHOS::AVSession::AVSessionBasicInfo::reserve_](#reserve) {} | std::vector< int32_t >
备注信息 | | [OHOS::AVSession::AVSessionBasicInfo::feature_](#feature) {} | std::vector< int32_t >
特征信息 | | [OHOS::AVSession::AVSessionBasicInfo::metaDataCap_](#metadatacap) {} | std::vector< int32_t >
会话元数据 | | [OHOS::AVSession::AVSessionBasicInfo::playBackStateCap_](#playbackstatecap) {} | std::vector< int32_t >
支持播放状态数组 | | [OHOS::AVSession::AVSessionBasicInfo::controlCommandCap_](#controlcommandcap) {} | std::vector< int32_t >
系统控制命令 | | [OHOS::AVSession::AVSessionBasicInfo::extendCapability_](#extendcapability) {} | std::vector< int32_t >
扩展能力 | | [OHOS::AVSession::AVSessionBasicInfo::systemTime_](#systemtime) {} | int32_t
系统时间 | | [OHOS::AVSession::AVSessionBasicInfo::extend_](#extend) {} | std::vector< int32_t >
扩展信息 | ## 函数说明 ### ReadFromParcel() ``` bool OHOS::AVSession::AVSessionDescriptor::ReadFromParcel (Parcel & in) ``` **描述:** 对会话相关描述信息进行解包。 **参数:** | 名称 | 描述 | | -------- | -------- | | in | 读出的会话相关描述信息对象**Parcel**。 | **返回:** 成功返回true;失败则返回false。 **参见:** [WriteToParcel](#writetoparcel) ### WriteToParcel() ``` bool OHOS::AVSession::AVSessionDescriptor::WriteToParcel (Parcel & out) const ``` **描述:** 将会话相关描述信息写进包里。 **参数:** | 名称 | 描述 | | -------- | -------- | | out | 写入的会话相关描述信息对象**Parcel**。 | **返回:** 成功返回true;失败则返回false。 **参见:** [ReadFromParcel](#readfromparcel) ## 变量说明 ### controlCommandCap_ ``` std::vector OHOS::AVSession::AVSessionBasicInfo::controlCommandCap_ {} ``` **描述:** 系统控制命令 ### deviceIds_ ``` std::vector OHOS::AVSession::OutputDeviceInfo::deviceIds_ ``` **描述:** 分布式设备的id集合 ### deviceName_ ``` std::string OHOS::AVSession::AVSessionBasicInfo::deviceName_ {} ``` **描述:** 设备名称 ### deviceNames_ ``` std::vector OHOS::AVSession::OutputDeviceInfo::deviceNames_ ``` **描述:** 分布式设备的名称集合 ### deviceType_ ``` std::string OHOS::AVSession::AVSessionBasicInfo::deviceType_ {} ``` **描述:** 设备类型 ### elementName_ ``` AppExecFwk::ElementName OHOS::AVSession::AVSessionDescriptor::elementName_ ``` **描述:** 会话所属应用的信息包含bundleName,abilityName等 ### extend_ ``` std::vector OHOS::AVSession::AVSessionBasicInfo::extend_ {} ``` **描述:** 扩展信息 ### extendCapability_ ``` std::vector OHOS::AVSession::AVSessionBasicInfo::extendCapability_ {} ``` **描述:** 扩展能力 ### feature_ ``` std::vector OHOS::AVSession::AVSessionBasicInfo::feature_ {} ``` **描述:** 特征信息 ### isActive_ ``` bool OHOS::AVSession::AVSessionDescriptor::isActive_ {} ``` **描述:** 会话是否为激活状态 ### isRemote_ ``` bool OHOS::AVSession::OutputDeviceInfo::isRemote_ {} ``` **描述:** 是否连接 ### isThirdPartyApp_ ``` bool OHOS::AVSession::AVSessionDescriptor::isThirdPartyApp_ {} ``` **描述:** 是否是第三方应用 ### isTopSession_ ``` bool OHOS::AVSession::AVSessionDescriptor::isTopSession_ {} ``` **描述:** 会话是否是最新的会话 ### metaDataCap_ ``` std::vector OHOS::AVSession::AVSessionBasicInfo::metaDataCap_ {} ``` **描述:** 会话元数据 ### networkId_ ``` std::string OHOS::AVSession::AVSessionBasicInfo::networkId_ {} ``` **描述:** 设备id ### outputDeviceInfo_ ``` OutputDeviceInfo OHOS::AVSession::AVSessionDescriptor::outputDeviceInfo_ ``` **描述:** 分布式设备相关信息 ### pid_ ``` pid_t OHOS::AVSession::AVSessionDescriptor::pid_ {} ``` **描述:** 进程id ### playBackStateCap_ ``` std::vector OHOS::AVSession::AVSessionBasicInfo::playBackStateCap_ {} ``` **描述:** 支持播放状态数组 ### reserve_ ``` std::vector OHOS::AVSession::AVSessionBasicInfo::reserve_ {} ``` **描述:** 备注信息 ### sessionId_ ``` std::string OHOS::AVSession::AVSessionDescriptor::sessionId_ ``` **描述:** 会话的id ### sessionTag_ ``` std::string OHOS::AVSession::AVSessionDescriptor::sessionTag_ ``` **描述:** 会话的自定义名称 ### sessionType_ ``` int32_t OHOS::AVSession::AVSessionDescriptor::sessionType_ {} ``` **描述:** 会话的类型 ### sessionVersion_ ``` int32_t OHOS::AVSession::AVSessionBasicInfo::sessionVersion_ {} ``` **描述:** 会话版本 ### systemTime_ ``` int32_t OHOS::AVSession::AVSessionBasicInfo::systemTime_ {} ``` **描述:** 系统时间 ### systemVersion_ ``` std::string OHOS::AVSession::AVSessionBasicInfo::systemVersion_ {} ``` **描述:** 系统版本 ### uid_ ``` pid_t OHOS::AVSession::AVSessionDescriptor::uid_ {} ``` **描述:** 用户id ### vendorId_ ``` std::string OHOS::AVSession::AVSessionBasicInfo::vendorId_ {} ``` **描述:** 供应商id