1# Drm 2 3 4## 概述 5 6提供数字版权保护能力的API。 7 8**起始版本:** 11 9 10 11## 汇总 12 13 14### 文件 15 16| 名称 | 描述 | 17| -------- | -------- | 18| [native_drm_common.h](native__drm__common_8h.md) | 定义DRM数据类型。<br/>**引用文件:** <multimedia/drm_framework/native_drm_common.h><br/>**库:** libnative_drm.z.so | 19| [native_drm_err.h](native__drm__err_8h.md) | 定义DRM错误码。<br/>**引用文件:** <multimedia/drm_framework/native_drm_err.h><br/>**库:** libnative_drm.z.so | 20| [native_mediakeysession.h](native__mediakeysession_8h.md) | 定义Drm MediaKeySession API。<br/>**引用文件:** <multimedia/drm_framework/native_mediakeysession.h><br/>**库:** libnative_drm.z.so | 21| [native_mediakeysystem.h](native__mediakeysystem_8h.md) | 定义Drm MediaKeySystem API。<br/>**引用文件:** <multimedia/drm_framework/native_mediakeysystem.h><br/>**库:** libnative_drm.z.so | 22 23 24### 结构体 25 26| 名称 | 描述 | 27| -------- | -------- | 28| struct [DRM_MediaKeyRequestInfo](_d_r_m___media_key_request_info.md) | 媒体密钥请求信息。 | 29| struct [DRM_MediaKeyRequest](_d_r_m___media_key_request.md) | 媒体密钥请求。 | 30| struct [DRM_Statistics](_d_r_m___statistics.md) | MediaKeySystem的度量信息。 | 31| struct [DRM_OfflineMediakeyIdArray](_d_r_m___offline_mediakey_id_array.md) | 离线媒体密钥ID数组。 | 32| struct [DRM_KeysInfo](_d_r_m___keys_info.md) | 媒体密钥信息。 | 33| struct [DRM_MediaKeyStatus](_d_r_m___media_key_status.md) | 媒体密钥状态。 | 34| struct [DRM_PsshInfo](_d_r_m___pssh_info.md) | uuid的PSSH信息。 | 35| struct [DRM_MediaKeySystemInfo](_d_r_m___media_key_system_info.md) | 用于播放器从媒体源获取媒体密钥系统信息。 | 36| struct [MediaKeySession_Callback](_media_key_session___callback.md) | MediaKeySession_Callback结构体,用于监听密钥过期、密钥更改等事件。 | 37 38 39### 宏定义 40 41| 名称 | 描述 | 42| -------- | -------- | 43| [MAX_MEDIA_KEY_REQUEST_OPTION_COUNT](#max_media_key_request_option_count) 16 | 媒体密钥请求选项的最大计数。 | 44| [MAX_MEDIA_KEY_REQUEST_OPTION_NAME_LEN](#max_media_key_request_option_name_len) 64 | 媒体密钥请求选项名称的最大长度。 | 45| [MAX_MEDIA_KEY_REQUEST_OPTION_DATA_LEN](#max_media_key_request_option_data_len) 128 | 媒体密钥请求选项数据的最大长度。 | 46| [MAX_INIT_DATA_LEN](#max_init_data_len) 2048 | 媒体密钥请求初始化数据的最大长度。 | 47| [MAX_MIMETYPE_LEN](#max_mimetype_len) 64 | 媒体mimetype类型的最大长度。 | 48| [MAX_MEDIA_KEY_REQUEST_DATA_LEN](#max_media_key_request_data_len) 8192 | 媒体密钥请求的最大长度。 | 49| [MAX_DEFAULT_URL_LEN](#max_default_url_len) 2048 | URL最大长度。 | 50| [MAX_STATISTICS_COUNT](#max_statistics_count) 10 | 统计项的最大计数。 | 51| [MAX_STATISTICS_NAME_LEN](#max_statistics_name_len) 64 | 统计项名称的最大长度。 | 52| [MAX_STATISTICS_BUFFER_LEN](#max_statistics_buffer_len) 256 | 统计项缓冲区的最大长度。 | 53| [MAX_OFFLINE_MEDIA_KEY_ID_COUNT](#max_offline_media_key_id_count) 512 | 离线媒体密钥id的最大计数。 | 54| [MAX_OFFLINE_MEDIA_KEY_ID_LEN](#max_offline_media_key_id_len) 64 | 离线媒体密钥id的最大长度。 | 55| [MAX_KEY_INFO_COUNT](#max_key_info_count) 64 | 密钥信息的最大计数。 | 56| [MAX_KEY_ID_LEN](#max_key_id_len) 16 | 密钥id的最大长度。 | 57| [MAX_KEY_STATUS_VALUE_LEN](#max_key_status_value_len) 128 | 密钥状态值的最大长度。 | 58| [MAX_MEDIA_KEY_STATUS_COUNT](#max_media_key_status_count) 64 | 媒体密钥状态的最大计数。 | 59| [MAX_MEDIA_KEY_STATUS_NAME_LEN](#max_media_key_status_name_len) 64 | 媒体密钥状态名称的最大长度。 | 60| [MAX_MEDIA_KEY_STATUS_VALUE_LEN](#max_media_key_status_value_len) 256 | 媒体密钥状态值的最大长度。 | 61| [DRM_UUID_LEN](#drm_uuid_len) 16 | Drm系统 uuid长度。 | 62| [MAX_PSSH_DATA_LEN](#max_pssh_data_len) 2048 | PSSH数据的最大长度。 | 63| [MAX_PSSH_INFO_COUNT](#max_pssh_info_count) 8 | PSSH信息的最大计数。 | 64 65 66### 类型定义 67 68| 名称 | 描述 | 69| -------- | -------- | 70| typedef enum [DRM_EventType](#drm_eventtype-1) [DRM_EventType](#drm_eventtype) | 监听事件类型。 | 71| typedef enum [DRM_ContentProtectionLevel](#drm_contentprotectionlevel-1) [DRM_ContentProtectionLevel](#drm_contentprotectionlevel) | 内容保护级别类型。 | 72| typedef enum [DRM_MediaKeyType](#drm_mediakeytype-1) [DRM_MediaKeyType](#drm_mediakeytype) | 许可证类型。 | 73| typedef enum [DRM_MediaKeyRequestType](#drm_mediakeyrequesttype-1) [DRM_MediaKeyRequestType](#drm_mediakeyrequesttype) | 许可证请求类型。 | 74| typedef enum [DRM_OfflineMediaKeyStatus](#drm_offlinemediakeystatus-1) [DRM_OfflineMediaKeyStatus](#drm_offlinemediakeystatus) | 离线许可证状态。 | 75| typedef enum [DRM_CertificateStatus](#drm_certificatestatus-1) [DRM_CertificateStatus](#drm_certificatestatus) | 设备证书状态类型。 | 76| typedef struct [DRM_MediaKeyRequestInfo](_d_r_m___media_key_request_info.md) [DRM_MediaKeyRequestInfo](#drm_mediakeyrequestinfo) | 媒体密钥请求信息。 | 77| typedef struct [DRM_MediaKeyRequest](_d_r_m___media_key_request.md) [DRM_MediaKeyRequest](#drm_mediakeyrequest) | 媒体密钥请求。 | 78| typedef struct [DRM_Statistics](_d_r_m___statistics.md) [DRM_Statistics](#drm_statistics) | MediaKeySystem的度量信息。 | 79| typedef struct [DRM_OfflineMediakeyIdArray](_d_r_m___offline_mediakey_id_array.md) [DRM_OfflineMediakeyIdArray](#drm_offlinemediakeyidarray) | 离线媒体密钥ID数组。 | 80| typedef struct [DRM_KeysInfo](_d_r_m___keys_info.md) [DRM_KeysInfo](#drm_keysinfo) | 媒体密钥信息。 | 81| typedef struct [DRM_MediaKeyStatus](_d_r_m___media_key_status.md) [DRM_MediaKeyStatus](#drm_mediakeystatus) | 媒体密钥状态。 | 82| typedef struct [DRM_PsshInfo](_d_r_m___pssh_info.md) [DRM_PsshInfo](#drm_psshinfo) | uuid的PSSH信息。 | 83| typedef struct [DRM_MediaKeySystemInfo](_d_r_m___media_key_system_info.md) [DRM_MediaKeySystemInfo](#drm_mediakeysysteminfo) | 用于播放器从媒体源获取媒体密钥系统信息。 | 84| typedef void(\* [DRM_MediaKeySystemInfoCallback](#drm_mediakeysysteminfocallback)) ([DRM_MediaKeySystemInfo](_d_r_m___media_key_system_info.md) \*mediaKeySystemInfo) | 应用程序为从媒体源获取媒体密钥系统信息而设置的回调。 | 85| typedef struct [MediaKeySystem](#mediakeysystem) [MediaKeySystem](#mediakeysystem) | 媒体密钥系统结构。 | 86| typedef struct [MediaKeySession](#mediakeysession) [MediaKeySession](#mediakeysession) | 媒体密钥会话结构。 | 87| typedef enum [Drm_ErrCode](#drm_errcode-1) [Drm_ErrCode](#drm_errcode) | DRM错误码。 | 88| typedef [Drm_ErrCode](#drm_errcode)(\* [MediaKeySession_EventCallback](#mediakeysession_eventcallback)) ([DRM_EventType](#drm_eventtype) eventType, uint8_t \*info, int32_t infoLen, char \*extra) | 事件触发时将调用的回调。 | 89| typedef [Drm_ErrCode](#drm_errcode)(\* [MediaKeySession_KeyChangeCallback](#mediakeysession_keychangecallback)) ([DRM_KeysInfo](_d_r_m___keys_info.md) \*keysInfo, bool newKeysAvailable) | 密钥更改时将调用回调。 | 90| typedef struct [MediaKeySession_Callback](_media_key_session___callback.md) [MediaKeySession_Callback](#mediakeysession_callback) | MediaKeySession_Callback结构体,用于监听密钥过期、密钥更改等事件。 | 91| typedef [Drm_ErrCode](#drm_errcode)(\* [MediaKeySystem_Callback](#mediakeysystem_callback)) ([DRM_EventType](#drm_eventtype) eventType, uint8_t \*info, int32_t infoLen, char \*extra) | 事件触发时将调用的回调。 | 92 93 94### 枚举 95 96| 名称 | 描述 | 97| -------- | -------- | 98| [DRM_EventType](#drm_eventtype-1) {<br/>EVENT_DRM_BASE = 200, <br/>EVENT_PROVISION_REQUIRED = 201, <br/>EVENT_KEY_REQUIRED = 202, <br/>EVENT_KEY_EXPIRED = 203,<br/>EVENT_VENDOR_DEFINED = 204, <br/>EVENT_EXPIRATION_UPDATE = 206<br/>} | 监听事件类型。 | 99| [DRM_ContentProtectionLevel](#drm_contentprotectionlevel-1) {<br/>CONTENT_PROTECTION_LEVEL_UNKNOWN = 0, <br/>CONTENT_PROTECTION_LEVEL_SW_CRYPTO, <br/>CONTENT_PROTECTION_LEVEL_HW_CRYPTO, <br/>CONTENT_PROTECTION_LEVEL_ENHANCED_HW_CRYPTO,<br/>CONTENT_PROTECTION_LEVEL_MAX<br/>} | 内容保护级别类型。 | 100| [DRM_MediaKeyType](#drm_mediakeytype-1) { <br/>MEDIA_KEY_TYPE_OFFLINE = 0, <br/>MEDIA_KEY_TYPE_ONLINE <br/>} | 许可证类型。 | 101| [DRM_MediaKeyRequestType](#drm_mediakeyrequesttype-1) {<br/>MEDIA_KEY_REQUEST_TYPE_UNKNOWN = 0, <br/>MEDIA_KEY_REQUEST_TYPE_INITIAL, <br/>MEDIA_KEY_REQUEST_TYPE_RENEWAL, <br/>MEDIA_KEY_REQUEST_TYPE_RELEASE,<br/>MEDIA_KEY_REQUEST_TYPE_NONE, <br/>MEDIA_KEY_REQUEST_TYPE_UPDATE<br/>} | 许可证请求类型。 | 102| [DRM_OfflineMediaKeyStatus](#drm_offlinemediakeystatus-1) { <br/>OFFLINE_MEDIA_KEY_STATUS_UNKNOWN = 0, <br/>OFFLINE_MEDIA_KEY_STATUS_USABLE, <br/>OFFLINE_MEDIA_KEY_STATUS_INACTIVE } | 离线许可证状态。 | 103| [DRM_CertificateStatus](#drm_certificatestatus-1) {<br/>CERT_STATUS_PROVISIONED = 0, <br/>CERT_STATUS_NOT_PROVISIONED, <br/>CERT_STATUS_EXPIRED, <br/>CERT_STATUS_INVALID,<br/>CERT_STATUS_UNAVAILABLE<br/>} | 设备证书状态类型。 | 104| [Drm_ErrCode](#drm_errcode-1) {<br/>DRM_ERR_OK = 0, <br/>DRM_CAPI_ERR_BASE = 24700500, <br/>DRM_ERR_NO_MEMORY = DRM_CAPI_ERR_BASE + 1, <br/>DRM_ERR_OPERATION_NOT_PERMITTED = DRM_CAPI_ERR_BASE + 2,<br/>DRM_ERR_INVALID_VAL = DRM_CAPI_ERR_BASE + 3, <br/>DRM_ERR_IO = DRM_CAPI_ERR_BASE + 4, <br/>DRM_ERR_TIMEOUT = DRM_CAPI_ERR_BASE + 5, <br/>DRM_ERR_UNKNOWN = DRM_CAPI_ERR_BASE + 6,<br/>DRM_ERR_SERVICE_DIED = DRM_CAPI_ERR_BASE + 7, <br/>DRM_ERR_INVALID_STATE = DRM_CAPI_ERR_BASE + 8, <br/>DRM_ERR_UNSUPPORTED = DRM_CAPI_ERR_BASE + 9, <br/>DRM_ERR_MAX_SYSTEM_NUM_REACHED = DRM_CAPI_ERR_BASE + 10,<br/>DRM_ERR_MAX_SESSION_NUM_REACHED = DRM_CAPI_ERR_BASE + 11, <br/>DRM_ERR_EXTEND_START = DRM_CAPI_ERR_BASE + 100<br/>} | DRM错误码。 | 105 106 107### 函数 108 109| 名称 | 描述 | 110| -------- | -------- | 111| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_GenerateMediaKeyRequest](#oh_mediakeysession_generatemediakeyrequest) ([MediaKeySession](#mediakeysession) \*mediaKeySession, [DRM_MediaKeyRequestInfo](_d_r_m___media_key_request_info.md) \*info, [DRM_MediaKeyRequest](_d_r_m___media_key_request.md) \*mediaKeyRequest) | 生成媒体密钥请求。 | 112| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_ProcessMediaKeyResponse](#oh_mediakeysession_processmediakeyresponse) ([MediaKeySession](#mediakeysession) \*mediaKeySession, uint8_t \*response, int32_t responseLen, uint8_t \*offlineMediaKeyId, int32_t \*offlineMediaKeyIdLen) | 处理媒体密钥响应。 | 113| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_CheckMediaKeyStatus](#oh_mediakeysession_checkmediakeystatus) ([MediaKeySession](#mediakeysession) \*mediaKeySessoin, [DRM_MediaKeyStatus](_d_r_m___media_key_status.md) \*mediaKeyStatus) | 检查媒体密钥状态。 | 114| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_ClearMediaKeys](#oh_mediakeysession_clearmediakeys) ([MediaKeySession](#mediakeysession) \*mediaKeySessoin) | 清除当前会话的媒体密钥。 | 115| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_GenerateOfflineReleaseRequest](#oh_mediakeysession_generateofflinereleaserequest) ([MediaKeySession](#mediakeysession) \*mediaKeySessoin, uint8_t \*offlineMediaKeyId, int32_t offlineMediaKeyIdLen, uint8_t \*releaseRequest, int32_t \*releaseRequestLen) | 生成离线媒体密钥释放请求。 | 116| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_ProcessOfflineReleaseResponse](#oh_mediakeysession_processofflinereleaseresponse) ([MediaKeySession](#mediakeysession) \*mediaKeySessoin, uint8_t \*offlineMediaKeyId, int32_t offlineMediaKeyIdLen, uint8_t \*releaseReponse, int32_t releaseReponseLen) | 处理离线媒体密钥释放响应。 | 117| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_RestoreOfflineMediaKeys](#oh_mediakeysession_restoreofflinemediakeys) ([MediaKeySession](#mediakeysession) \*mediaKeySessoin, uint8_t \*offlineMediaKeyId, int32_t offlineMediaKeyIdLen) | 按ID还原离线媒体密钥。 | 118| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_GetContentProtectionLevel](#oh_mediakeysession_getcontentprotectionlevel) ([MediaKeySession](#mediakeysession) \*mediaKeySessoin, [DRM_ContentProtectionLevel](#drm_contentprotectionlevel) \*contentProtectionLevel) | 获取会话的内容保护级别。 | 119| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_RequireSecureDecoderModule](#oh_mediakeysession_requiresecuredecodermodule) ([MediaKeySession](#mediakeysession) \*mediaKeySessoin, const char \*mimeType, bool \*status) | 加密内容是否需要安全解码。 | 120| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_SetMediaKeySessionCallback](#oh_mediakeysession_setmediakeysessioncallback) ([MediaKeySession](#mediakeysession) \*mediaKeySessoin, [MediaKeySession_Callback](_media_key_session___callback.md) \*callback) | 设置媒体密钥会话事件回调。 | 121| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySession_Destroy](#oh_mediakeysession_destroy) ([MediaKeySession](#mediakeysession) \*mediaKeySessoin) | 释放会话资源。 | 122| bool [OH_MediaKeySystem_IsSupported](#oh_mediakeysystem_issupported) (const char \*name) | 查询是否支持媒体密钥系统。 | 123| bool [OH_MediaKeySystem_IsSupported2](#oh_mediakeysystem_issupported2) (const char \*name, const char \*mimeType) | 查询是否支持媒体密钥系统。 | 124| bool [OH_MediaKeySystem_IsSupported3](#oh_mediakeysystem_issupported3) (const char \*name, const char \*mimeType, [DRM_ContentProtectionLevel](#drm_contentprotectionlevel) contentProtectionLevel) | 查询是否支持媒体密钥系统。 | 125| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_Create](#oh_mediakeysystem_create) (const char \*name, [MediaKeySystem](#mediakeysystem) \*\*mediaKeySystem) | 根据名称创建媒体密钥系统实例。 | 126| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_SetConfigurationString](#oh_mediakeysystem_setconfigurationstring) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, const char \*configName, const char \*value) | 按字符串类型名称设置媒体密钥系统配置值。 | 127| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_GetConfigurationString](#oh_mediakeysystem_getconfigurationstring) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, const char \*configName, char \*value, int32_t valueLen) | 按字符串类型名称获取媒体密钥系统配置值。 | 128| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_SetConfigurationByteArray](#oh_mediakeysystem_setconfigurationbytearray) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, const char \*configName, uint8_t \*value, int32_t valueLen) | 通过字符数组类型配置名设置MediaKeySystem的配置值。 | 129| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_GetConfigurationByteArray](#oh_mediakeysystem_getconfigurationbytearray) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, const char \*configName, uint8_t \*value, int32_t \*valueLen) | 按字符数组类型名称获取媒体密钥系统配置值。 | 130| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_GetStatistics](#oh_mediakeysystem_getstatistics) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, [DRM_Statistics](_d_r_m___statistics.md) \*statistics) | 获取媒体密钥系统度量信息。 | 131| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_GetMaxContentProtectionLevel](#oh_mediakeysystem_getmaxcontentprotectionlevel) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, [DRM_ContentProtectionLevel](#drm_contentprotectionlevel) \*contentProtectionLevel) | 获取支持的最高内容保护级别的媒体密钥系统。 | 132| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_SetMediaKeySystemCallback](#oh_mediakeysystem_setmediakeysystemcallback) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, [MediaKeySystem_Callback](#mediakeysystem_callback) callback) | 设置媒体密钥系统事件回调。 | 133| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_CreateMediaKeySession](#oh_mediakeysystem_createmediakeysession) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, [DRM_ContentProtectionLevel](#drm_contentprotectionlevel) \*level, [MediaKeySession](#mediakeysession) \*\*mediaKeySession) | 创建媒体密钥会话实例。 | 134| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_GenerateKeySystemRequest](#oh_mediakeysystem_generatekeysystemrequest) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, uint8_t \*request, int32_t \*requestLen, char \*defaultUrl, int32_t defaultUrlLen) | 生成媒体密钥系统提供请求。 | 135| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_ProcessKeySystemResponse](#oh_mediakeysystem_processkeysystemresponse) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, uint8_t \*response, int32_t responseLen) | 处理媒体密钥系统提供响应。 | 136| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_GetOfflineMediaKeyIds](#oh_mediakeysystem_getofflinemediakeyids) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, [DRM_OfflineMediakeyIdArray](_d_r_m___offline_mediakey_id_array.md) \*offlineMediaKeyIds) | 获取离线媒体密钥ID。 | 137| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_GetOfflineMediaKeyStatus](#oh_mediakeysystem_getofflinemediakeystatus) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, uint8_t \*offlineMediaKeyId, int32_t offlineMediaKeyIdLen, [DRM_OfflineMediaKeyStatus](#drm_offlinemediakeystatus) \*status) | 获取离线密钥状态。 | 138| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_ClearOfflineMediaKeys](#oh_mediakeysystem_clearofflinemediakeys) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, uint8_t \*offlineMediaKeyId, int32_t offlineMediaKeyIdLen) | 按id清除离线媒体密钥。 | 139| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_GetCertificateStatus](#oh_mediakeysystem_getcertificatestatus) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem, [DRM_CertificateStatus](#drm_certificatestatus) \*certStatus) | 获取媒体密钥系统的证书状态。 | 140| [Drm_ErrCode](#drm_errcode) [OH_MediaKeySystem_Destroy](#oh_mediakeysystem_destroy) ([MediaKeySystem](#mediakeysystem) \*mediaKeySystem) | Destroy a 媒体密钥系统实例。 | 141 142 143### 变量 144 145| 名称 | 描述 | 146| -------- | -------- | 147| [DRM_MediaKeyType](#drm_mediakeytype) [DRM_MediaKeyRequestInfo::type](#type-12) | 密钥类型 | 148| int32_t [DRM_MediaKeyRequestInfo::initDataLen](#initdatalen) | 初始数据长度。 | 149| uint8_t [DRM_MediaKeyRequestInfo::initData](#initdata) [[MAX_INIT_DATA_LEN](#max_init_data_len)] | base64解码后格式为PSSH的初始数据。 | 150| char [DRM_MediaKeyRequestInfo::mimeType](#mimetype) [[MAX_MIMETYPE_LEN](#max_mimetype_len)] | 媒体上下文的mime类型。 | 151| uint32_t [DRM_MediaKeyRequestInfo::optionsCount](#optionscount) | 选项数据计数。 | 152| char [DRM_MediaKeyRequestInfo::optionName](#optionname) [[MAX_MEDIA_KEY_REQUEST_OPTION_COUNT](#max_media_key_request_option_count)][[MAX_MEDIA_KEY_REQUEST_OPTION_NAME_LEN](#max_media_key_request_option_name_len)] | 选项名称集合。 | 153| char [DRM_MediaKeyRequestInfo::optionData](#optiondata) [[MAX_MEDIA_KEY_REQUEST_OPTION_COUNT](#max_media_key_request_option_count)][[MAX_MEDIA_KEY_REQUEST_OPTION_DATA_LEN](#max_media_key_request_option_data_len)] | 选项数据集合。 | 154| [DRM_MediaKeyRequestType](#drm_mediakeyrequesttype) [DRM_MediaKeyRequest::type](#type-22) | 媒体密钥请求类型。 | 155| int32_t [DRM_MediaKeyRequest::dataLen](#datalen-12) | 媒体密钥请求数据长度。 | 156| uint8_t [DRM_MediaKeyRequest::data](#data-12) [[MAX_MEDIA_KEY_REQUEST_DATA_LEN](#max_media_key_request_data_len)] | 发送到媒体密钥服务器的媒体密钥请求数据。 | 157| char [DRM_MediaKeyRequest::defaultUrl](#defaulturl) [[MAX_DEFAULT_URL_LEN](#max_default_url_len)] | 媒体密钥服务器URL。 | 158| uint32_t [DRM_Statistics::statisticsCount](#statisticscount) | 度量计数。 | 159| char [DRM_Statistics::statisticsName](#statisticsname) [[MAX_STATISTICS_COUNT](#max_statistics_count)][[MAX_STATISTICS_NAME_LEN](#max_statistics_name_len)] | 度量信息名称集合。 | 160| char [DRM_Statistics::statisticsDescription](#statisticsdescription) [[MAX_STATISTICS_COUNT](#max_statistics_count)][[MAX_STATISTICS_BUFFER_LEN](#max_statistics_buffer_len)] | 度量信息描述集合。 | 161| uint32_t [DRM_OfflineMediakeyIdArray::idsCount](#idscount) | ID计数 | 162| int32_t [DRM_OfflineMediakeyIdArray::idsLen](#idslen) [[MAX_OFFLINE_MEDIA_KEY_ID_COUNT](#max_offline_media_key_id_count)] | ID长度集合 | 163| uint8_t [DRM_OfflineMediakeyIdArray::ids](#ids) [[MAX_OFFLINE_MEDIA_KEY_ID_COUNT](#max_offline_media_key_id_count)][[MAX_OFFLINE_MEDIA_KEY_ID_LEN](#max_offline_media_key_id_len)] | ID数据集合 | 164| uint32_t [DRM_KeysInfo::keysInfoCount](#keysinfocount) | 钥匙计数。 | 165| uint8_t [DRM_KeysInfo::keyId](#keyid) [[MAX_KEY_INFO_COUNT](#max_key_info_count)][[MAX_KEY_ID_LEN](#max_key_id_len)] | 密钥ID集合 | 166| char [DRM_KeysInfo::statusValue](#statusvalue-12) [[MAX_KEY_INFO_COUNT](#max_key_info_count)][[MAX_KEY_STATUS_VALUE_LEN](#max_key_status_value_len)] | 关键状态值。 | 167| uint32_t [DRM_MediaKeyStatus::statusCount](#statuscount) | 状态计数。 | 168| char [DRM_MediaKeyStatus::statusName](#statusname) [[MAX_MEDIA_KEY_STATUS_COUNT](#max_media_key_status_count)][[MAX_MEDIA_KEY_STATUS_NAME_LEN](#max_media_key_status_name_len)] | 状态名数组。 | 169| char [DRM_MediaKeyStatus::statusValue](#statusvalue-22) [[MAX_MEDIA_KEY_STATUS_COUNT](#max_media_key_status_count)][[MAX_MEDIA_KEY_STATUS_VALUE_LEN](#max_media_key_status_value_len)] | 状态值数组。 | 170| uint8_t [DRM_PsshInfo::uuid](#uuid) [[DRM_UUID_LEN](#drm_uuid_len)] | Uuid. | 171| int32_t [DRM_PsshInfo::dataLen](#datalen-22) | PSSH数据长度。 | 172| uint8_t [DRM_PsshInfo::data](#data-22) [[MAX_PSSH_DATA_LEN](#max_pssh_data_len)] | uint8_t PSSH数据。 | 173| uint32_t [DRM_MediaKeySystemInfo::psshCount](#psshcount) | PSSH计数。 | 174| [DRM_PsshInfo](_d_r_m___pssh_info.md) [DRM_MediaKeySystemInfo::psshInfo](#psshinfo) [[MAX_PSSH_INFO_COUNT](#max_pssh_info_count)] | PSSH信息. | 175| [MediaKeySession_EventCallback](#mediakeysession_eventcallback) [MediaKeySession_Callback::eventCallback](#eventcallback) | 正常事件回调,如密钥过期等。 | 176| [MediaKeySession_KeyChangeCallback](#mediakeysession_keychangecallback) [MediaKeySession_Callback::keyChangeCallback](#keychangecallback) | 密钥更改事件的密钥更改回调。 | 177 178 179## 宏定义说明 180 181 182### DRM_UUID_LEN 183 184``` 185#define DRM_UUID_LEN 16 186``` 187 188**描述** 189 190Drm系统 uuid长度。 191 192**起始版本:** 11 193 194 195### MAX_DEFAULT_URL_LEN 196 197``` 198#define MAX_DEFAULT_URL_LEN 2048 199``` 200 201**描述** 202 203URL最大长度。 204 205**起始版本:** 11 206 207 208### MAX_INIT_DATA_LEN 209 210``` 211#define MAX_INIT_DATA_LEN 2048 212``` 213 214**描述** 215 216媒体密钥请求初始化数据的最大长度。 217 218**起始版本:** 11 219 220 221### MAX_KEY_ID_LEN 222 223``` 224#define MAX_KEY_ID_LEN 16 225``` 226 227**描述** 228 229密钥id的最大长度。 230 231**起始版本:** 11 232 233 234### MAX_KEY_INFO_COUNT 235 236``` 237#define MAX_KEY_INFO_COUNT 64 238``` 239 240**描述** 241 242密钥信息的最大计数。 243 244**起始版本:** 11 245 246 247### MAX_KEY_STATUS_VALUE_LEN 248 249``` 250#define MAX_KEY_STATUS_VALUE_LEN 128 251``` 252 253**描述** 254 255密钥状态值的最大长度。 256 257**起始版本:** 11 258 259 260### MAX_MEDIA_KEY_REQUEST_DATA_LEN 261 262``` 263#define MAX_MEDIA_KEY_REQUEST_DATA_LEN 8192 264``` 265 266**描述** 267 268媒体密钥请求的最大长度。 269 270**起始版本:** 11 271 272 273### MAX_MEDIA_KEY_REQUEST_OPTION_COUNT 274 275``` 276#define MAX_MEDIA_KEY_REQUEST_OPTION_COUNT 16 277``` 278 279**描述** 280 281媒体密钥请求选项的最大计数。 282 283**起始版本:** 11 284 285 286### MAX_MEDIA_KEY_REQUEST_OPTION_DATA_LEN 287 288``` 289#define MAX_MEDIA_KEY_REQUEST_OPTION_DATA_LEN 128 290``` 291 292**描述** 293 294媒体密钥请求选项数据的最大长度。 295 296**起始版本:** 11 297 298 299### MAX_MEDIA_KEY_REQUEST_OPTION_NAME_LEN 300 301``` 302#define MAX_MEDIA_KEY_REQUEST_OPTION_NAME_LEN 64 303``` 304 305**描述** 306 307媒体密钥请求选项名称的最大长度。 308 309**起始版本:** 11 310 311 312### MAX_MEDIA_KEY_STATUS_COUNT 313 314``` 315#define MAX_MEDIA_KEY_STATUS_COUNT 64 316``` 317 318**描述** 319 320媒体密钥状态的最大计数。 321 322**起始版本:** 11 323 324 325### MAX_MEDIA_KEY_STATUS_NAME_LEN 326 327``` 328#define MAX_MEDIA_KEY_STATUS_NAME_LEN 64 329``` 330 331**描述** 332 333媒体密钥状态名称的最大长度。 334 335**起始版本:** 11 336 337 338### MAX_MEDIA_KEY_STATUS_VALUE_LEN 339 340``` 341#define MAX_MEDIA_KEY_STATUS_VALUE_LEN 256 342``` 343 344**描述** 345 346媒体密钥状态值的最大长度。 347 348**起始版本:** 11 349 350 351### MAX_MIMETYPE_LEN 352 353``` 354#define MAX_MIMETYPE_LEN 64 355``` 356 357**描述** 358 359媒体mimetype类型的最大长度。 360 361**起始版本:** 11 362 363 364### MAX_OFFLINE_MEDIA_KEY_ID_COUNT 365 366``` 367#define MAX_OFFLINE_MEDIA_KEY_ID_COUNT 512 368``` 369 370**描述** 371 372离线媒体密钥id的最大计数。 373 374**起始版本:** 11 375 376 377### MAX_OFFLINE_MEDIA_KEY_ID_LEN 378 379``` 380#define MAX_OFFLINE_MEDIA_KEY_ID_LEN 64 381``` 382 383**描述** 384 385离线媒体密钥id的最大长度。 386 387**起始版本:** 11 388 389 390### MAX_PSSH_DATA_LEN 391 392``` 393#define MAX_PSSH_DATA_LEN 2048 394``` 395 396**描述** 397 398PSSH数据的最大长度。 399 400**起始版本:** 11 401 402 403### MAX_PSSH_INFO_COUNT 404 405``` 406#define MAX_PSSH_INFO_COUNT 8 407``` 408 409**描述** 410 411PSSH信息的最大计数。 412 413**起始版本:** 11 414 415 416### MAX_STATISTICS_BUFFER_LEN 417 418``` 419#define MAX_STATISTICS_BUFFER_LEN 256 420``` 421 422**描述** 423 424统计项缓冲区的最大长度。 425 426**起始版本:** 11 427 428 429### MAX_STATISTICS_COUNT 430 431``` 432#define MAX_STATISTICS_COUNT 10 433``` 434 435**描述** 436 437统计项的最大计数。 438 439**起始版本:** 11 440 441 442### MAX_STATISTICS_NAME_LEN 443 444``` 445#define MAX_STATISTICS_NAME_LEN 64 446``` 447 448**描述** 449 450统计项名称的最大长度。 451 452**起始版本:** 11 453 454 455## 类型定义说明 456 457 458### DRM_CertificateStatus 459 460``` 461typedef enum DRM_CertificateStatusDRM_CertificateStatus 462``` 463 464**描述** 465 466设备证书状态类型。 467 468**系统能力:** SystemCapability.Multimedia.Drm.Core 469 470**起始版本:** 11 471 472 473### DRM_ContentProtectionLevel 474 475``` 476typedef enum DRM_ContentProtectionLevelDRM_ContentProtectionLevel 477``` 478 479**描述** 480 481内容保护级别类型。 482 483**系统能力:** SystemCapability.Multimedia.Drm.Core 484 485**起始版本:** 11 486 487 488### Drm_ErrCode 489 490``` 491typedef enum Drm_ErrCodeDrm_ErrCode 492``` 493 494**描述** 495 496DRM错误码。 497 498**系统能力:** SystemCapability.Multimedia.Drm.Core 499 500**起始版本:** 11 501 502 503### DRM_EventType 504 505``` 506typedef enum DRM_EventTypeDRM_EventType 507``` 508 509**描述** 510 511监听事件类型。 512 513**起始版本:** 11 514 515 516### DRM_KeysInfo 517 518``` 519typedef struct DRM_KeysInfoDRM_KeysInfo 520``` 521 522**描述** 523 524媒体密钥信息。 525 526**起始版本:** 11 527 528 529### DRM_MediaKeyRequest 530 531``` 532typedef struct DRM_MediaKeyRequestDRM_MediaKeyRequest 533``` 534 535**描述** 536 537媒体密钥请求。 538 539**起始版本:** 11 540 541 542### DRM_MediaKeyRequestInfo 543 544``` 545typedef struct DRM_MediaKeyRequestInfoDRM_MediaKeyRequestInfo 546``` 547 548**描述** 549 550媒体密钥请求信息。 551 552**起始版本:** 11 553 554 555### DRM_MediaKeyRequestType 556 557``` 558typedef enum DRM_MediaKeyRequestTypeDRM_MediaKeyRequestType 559``` 560 561**描述** 562 563许可证请求类型。 564 565**系统能力:** SystemCapability.Multimedia.Drm.Core 566 567**起始版本:** 11 568 569 570### DRM_MediaKeyStatus 571 572``` 573typedef struct DRM_MediaKeyStatusDRM_MediaKeyStatus 574``` 575 576**描述** 577 578媒体密钥状态。 579 580**起始版本:** 11 581 582 583### DRM_MediaKeySystemInfo 584 585``` 586typedef struct DRM_MediaKeySystemInfoDRM_MediaKeySystemInfo 587``` 588 589**描述** 590 591用于播放器从媒体源获取媒体密钥系统信息。 592 593**起始版本:** 11 594 595 596### DRM_MediaKeySystemInfoCallback 597 598``` 599typedef void(* DRM_MediaKeySystemInfoCallback) (DRM_MediaKeySystemInfo *mediaKeySystemInfo) 600``` 601 602**描述** 603 604应用程序为从媒体源获取媒体密钥系统信息而设置的回调。 605 606**起始版本:** 11 607 608**参数:** 609 610| 名称 | 描述 | 611| -------- | -------- | 612| mediaKeySystemInfo | 从媒体源获取的媒体密钥系统信息。 | 613 614 615### DRM_MediaKeyType 616 617``` 618typedef enum DRM_MediaKeyTypeDRM_MediaKeyType 619``` 620 621**描述** 622 623许可证类型。 624 625**系统能力:** SystemCapability.Multimedia.Drm.Core 626 627**起始版本:** 11 628 629 630### DRM_OfflineMediakeyIdArray 631 632``` 633typedef struct DRM_OfflineMediakeyIdArrayDRM_OfflineMediakeyIdArray 634``` 635 636**描述** 637 638离线媒体密钥ID数组。 639 640**起始版本:** 11 641 642 643### DRM_OfflineMediaKeyStatus 644 645``` 646typedef enum DRM_OfflineMediaKeyStatusDRM_OfflineMediaKeyStatus 647``` 648 649**描述** 650 651离线许可证状态。 652 653**系统能力:** SystemCapability.Multimedia.Drm.Core 654 655**起始版本:** 11 656 657 658### DRM_PsshInfo 659 660``` 661typedef struct DRM_PsshInfoDRM_PsshInfo 662``` 663 664**描述** 665 666uuid的PSSH信息。 667 668**起始版本:** 11 669 670 671### DRM_Statistics 672 673``` 674typedef struct DRM_StatisticsDRM_Statistics 675``` 676 677**描述** 678 679MediaKeySystem的度量信息。 680 681**起始版本:** 11 682 683 684### MediaKeySession 685 686``` 687typedef struct MediaKeySessionMediaKeySession 688``` 689 690**描述** 691 692媒体密钥会话结构。 693 694**起始版本:** 11 695 696 697### MediaKeySession_Callback 698 699``` 700typedef struct MediaKeySession_CallbackMediaKeySession_Callback 701``` 702 703**描述** 704 705MediaKeySession_Callback结构体,用于监听密钥过期、密钥更改等事件。 706 707**起始版本:** 11 708 709 710### MediaKeySession_EventCallback 711 712``` 713typedef Drm_ErrCode(* MediaKeySession_EventCallback) (DRM_EventType eventType, uint8_t *info, int32_t infoLen, char *extra) 714``` 715 716**描述** 717 718事件触发时将调用的回调。 719 720**起始版本:** 11 721 722**参数:** 723 724| 名称 | 描述 | 725| -------- | -------- | 726| eventType | 事件类型。 | 727| info | 从媒体密钥会话获取的事件信息。 | 728| infoLen | 事件信息长度。 | 729| extra | 从媒体密钥会话中获得的额外信息。 | 730 731**返回:** 732 733Drm_ErrCode 错误码。 734 735 736### MediaKeySession_KeyChangeCallback 737 738``` 739typedef Drm_ErrCode(* MediaKeySession_KeyChangeCallback) (DRM_KeysInfo *keysInfo, bool newKeysAvailable) 740``` 741 742**描述** 743 744密钥更改时将调用回调。 745 746**起始版本:** 11 747 748**参数:** 749 750| 名称 | 描述 | 751| -------- | -------- | 752| keysInfo | 从媒体密钥系统获取的密钥信息。 | 753| newKeysAvailable | 新密钥是否可用 | 754 755**返回:** 756 757当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 758 759 760### MediaKeySystem 761 762``` 763typedef struct MediaKeySystemMediaKeySystem 764``` 765 766**描述** 767 768媒体密钥系统结构。 769 770**起始版本:** 11 771 772 773### MediaKeySystem_Callback 774 775``` 776typedef Drm_ErrCode(* MediaKeySystem_Callback) (DRM_EventType eventType, uint8_t *info, int32_t infoLen, char *extra) 777``` 778 779**描述** 780 781事件触发时将调用的回调。 782 783**起始版本:** 11 784 785**参数:** 786 787| 名称 | 描述 | 788| -------- | -------- | 789| eventType | 事件类型。 | 790| info | 从媒体密钥系统获取的事件信息。 | 791| infoLen | 事件信息长度。 | 792| extra | 从媒体密钥系统获得的额外信息。 | 793 794**返回:** 795 796当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 797 798 799## 枚举类型说明 800 801 802### DRM_CertificateStatus 803 804``` 805enum DRM_CertificateStatus 806``` 807 808**描述** 809 810设备证书状态类型。 811 812**系统能力:** SystemCapability.Multimedia.Drm.Core 813 814**起始版本:** 11 815 816| 枚举值 | 描述 | 817| -------- | -------- | 818| CERT_STATUS_PROVISIONED | 设备已安装设备证书 | 819| CERT_STATUS_NOT_PROVISIONED | 设备未安装设备证书 | 820| CERT_STATUS_EXPIRED | 设备证书过期 | 821| CERT_STATUS_INVALID | 无效设备证书 | 822| CERT_STATUS_UNAVAILABLE | 设备证书不可用 | 823 824 825### DRM_ContentProtectionLevel 826 827``` 828enum DRM_ContentProtectionLevel 829``` 830 831**描述** 832 833内容保护级别类型。 834 835**系统能力:** SystemCapability.Multimedia.Drm.Core 836 837**起始版本:** 11 838 839| 枚举值 | 描述 | 840| -------- | -------- | 841| CONTENT_PROTECTION_LEVEL_UNKNOWN | 未知级别 | 842| CONTENT_PROTECTION_LEVEL_SW_CRYPTO | 软件安全级别 | 843| CONTENT_PROTECTION_LEVEL_HW_CRYPTO | 硬件安全级别 | 844| CONTENT_PROTECTION_LEVEL_ENHANCED_HW_CRYPTO | 硬件增强级别 | 845| CONTENT_PROTECTION_LEVEL_MAX | 最大安全级别 | 846 847 848### Drm_ErrCode 849 850``` 851enum Drm_ErrCode 852``` 853 854**描述** 855 856DRM错误码。 857 858**系统能力:** SystemCapability.Multimedia.Drm.Core 859 860**起始版本:** 11 861 862| 枚举值 | 描述 | 863| -------- | -------- | 864| DRM_ERR_OK | 操作成功完成。 | 865| DRM_CAPI_ERR_BASE | 基础错误。 | 866| DRM_ERR_NO_MEMORY | 内存不足。 | 867| DRM_ERR_OPERATION_NOT_PERMITTED | 不支持的操作。 | 868| DRM_ERR_INVALID_VAL | 无效参数。 | 869| DRM_ERR_IO | IO 错误。 | 870| DRM_ERR_TIMEOUT | 网络超时。 | 871| DRM_ERR_UNKNOWN | 未知错误。 | 872| DRM_ERR_SERVICE_DIED | drm服务挂死。 | 873| DRM_ERR_INVALID_STATE | 无效的操作状态。 | 874| DRM_ERR_UNSUPPORTED | 不支持的操作。 | 875| DRM_ERR_MAX_SYSTEM_NUM_REACHED | MediaKeySystem最大实例数。 | 876| DRM_ERR_MAX_SESSION_NUM_REACHED | MediaKeySession最大实例数。 | 877| DRM_ERR_EXTEND_START | 扩展错误。 | 878 879 880### DRM_EventType 881 882``` 883enum DRM_EventType 884``` 885 886**描述** 887 888监听事件类型。 889 890**起始版本:** 11 891 892| 枚举值 | 描述 | 893| -------- | -------- | 894| EVENT_DRM_BASE | DRM基础事件 | 895| EVENT_PROVISION_REQUIRED | 设备证书请求事件 | 896| EVENT_KEY_REQUIRED | 密钥请求事件 | 897| EVENT_KEY_EXPIRED | 密钥过期事件 | 898| EVENT_VENDOR_DEFINED | 第三方定义事件 | 899| EVENT_EXPIRATION_UPDATE | 密钥过期更新事件 | 900 901 902### DRM_MediaKeyRequestType 903 904``` 905enum DRM_MediaKeyRequestType 906``` 907 908**描述** 909 910许可证请求类型。 911 912**系统能力:** SystemCapability.Multimedia.Drm.Core 913 914**起始版本:** 11 915 916| 枚举值 | 描述 | 917| -------- | -------- | 918| MEDIA_KEY_REQUEST_TYPE_UNKNOWN | 未知请求类型 | 919| MEDIA_KEY_REQUEST_TYPE_INITIAL | 初始化请求 | 920| MEDIA_KEY_REQUEST_TYPE_RENEWAL | 续订请求 | 921| MEDIA_KEY_REQUEST_TYPE_RELEASE | 释放请求 | 922| MEDIA_KEY_REQUEST_TYPE_NONE | 无请求 | 923| MEDIA_KEY_REQUEST_TYPE_UPDATE | 更新请求 | 924 925 926### DRM_MediaKeyType 927 928``` 929enum DRM_MediaKeyType 930``` 931 932**描述** 933 934许可证类型。 935 936**系统能力:** SystemCapability.Multimedia.Drm.Core 937 938**起始版本:** 11 939 940| 枚举值 | 描述 | 941| -------- | -------- | 942| MEDIA_KEY_TYPE_OFFLINE | 离线 | 943| MEDIA_KEY_TYPE_ONLINE | 在线 | 944 945 946### DRM_OfflineMediaKeyStatus 947 948``` 949enum DRM_OfflineMediaKeyStatus 950``` 951 952**描述** 953 954离线许可证状态。 955 956**系统能力:** SystemCapability.Multimedia.Drm.Core 957 958**起始版本:** 11 959 960| 枚举值 | 描述 | 961| -------- | -------- | 962| OFFLINE_MEDIA_KEY_STATUS_UNKNOWN | 未知状态 | 963| OFFLINE_MEDIA_KEY_STATUS_USABLE | 可用状态 | 964| OFFLINE_MEDIA_KEY_STATUS_INACTIVE | 失活状态 | 965 966 967## 函数说明 968 969 970### OH_MediaKeySession_CheckMediaKeyStatus() 971 972``` 973Drm_ErrCode OH_MediaKeySession_CheckMediaKeyStatus (MediaKeySession * mediaKeySessoin, DRM_MediaKeyStatus * mediaKeyStatus ) 974``` 975 976**描述** 977 978检查媒体密钥状态。 979 980**起始版本:** 11 981 982**参数:** 983 984| 名称 | 描述 | 985| -------- | -------- | 986| mediaKeySession | 媒体密钥会话实例。 | 987| mediaKeyStatus | 媒体密钥状态。 | 988 989**返回:** 990 991当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 992 993 994### OH_MediaKeySession_ClearMediaKeys() 995 996``` 997Drm_ErrCode OH_MediaKeySession_ClearMediaKeys (MediaKeySession * mediaKeySessoin) 998``` 999 1000**描述** 1001 1002清除当前会话的媒体密钥。 1003 1004**起始版本:** 11 1005 1006**参数:** 1007 1008| 名称 | 描述 | 1009| -------- | -------- | 1010| mediaKeySession | 媒体密钥会话实例。 | 1011 1012**返回:** 1013 1014当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1015 1016 1017### OH_MediaKeySession_Destroy() 1018 1019``` 1020Drm_ErrCode OH_MediaKeySession_Destroy (MediaKeySession * mediaKeySessoin) 1021``` 1022 1023**描述** 1024 1025释放会话资源。 1026 1027**起始版本:** 11 1028 1029**参数:** 1030 1031| 名称 | 描述 | 1032| -------- | -------- | 1033| mediaKeySession | 媒体密钥会话实例。 | 1034 1035**返回:** 1036 1037当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1038 1039 1040### OH_MediaKeySession_GenerateMediaKeyRequest() 1041 1042``` 1043Drm_ErrCode OH_MediaKeySession_GenerateMediaKeyRequest (MediaKeySession * mediaKeySession, DRM_MediaKeyRequestInfo * info, DRM_MediaKeyRequest * mediaKeyRequest ) 1044``` 1045 1046**描述** 1047 1048生成媒体密钥请求。 1049 1050**起始版本:** 11 1051 1052**参数:** 1053 1054| 名称 | 描述 | 1055| -------- | -------- | 1056| mediaKeySession | 媒体密钥会话实例。 | 1057| info | 媒体密钥请求信息。 | 1058| mediaKeyRequest | 媒体密钥请求。 | 1059 1060**返回:** 1061 1062Drm_ErrCode 错误码。 1063 1064 1065### OH_MediaKeySession_GenerateOfflineReleaseRequest() 1066 1067``` 1068Drm_ErrCode OH_MediaKeySession_GenerateOfflineReleaseRequest (MediaKeySession * mediaKeySessoin, uint8_t * offlineMediaKeyId, int32_t offlineMediaKeyIdLen, uint8_t * releaseRequest, int32_t * releaseRequestLen ) 1069``` 1070 1071**描述** 1072 1073生成离线媒体密钥释放请求。 1074 1075**起始版本:** 11 1076 1077**参数:** 1078 1079| 名称 | 描述 | 1080| -------- | -------- | 1081| mediaKeySession | 媒体密钥会话实例。 | 1082| offlineMediaKeyId | 离线媒体密钥标识符。 | 1083| releaseRequestLen | 离线媒体密钥标识符长度。 | 1084 1085**返回:** 1086 1087当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1088 1089 1090### OH_MediaKeySession_GetContentProtectionLevel() 1091 1092``` 1093Drm_ErrCode OH_MediaKeySession_GetContentProtectionLevel (MediaKeySession * mediaKeySessoin, DRM_ContentProtectionLevel * contentProtectionLevel ) 1094``` 1095 1096**描述** 1097 1098获取会话的内容保护级别。 1099 1100**起始版本:** 11 1101 1102**参数:** 1103 1104| 名称 | 描述 | 1105| -------- | -------- | 1106| mediaKeySession | 媒体密钥会话实例。 | 1107| contentProtectionLevel | 内容保护级别。 | 1108 1109**返回:** 1110 1111当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1112 1113 1114### OH_MediaKeySession_ProcessMediaKeyResponse() 1115 1116``` 1117Drm_ErrCode OH_MediaKeySession_ProcessMediaKeyResponse (MediaKeySession * mediaKeySession, uint8_t * response, int32_t responseLen, uint8_t * offlineMediaKeyId, int32_t * offlineMediaKeyIdLen ) 1118``` 1119 1120**描述** 1121 1122处理媒体密钥响应。 1123 1124**起始版本:** 11 1125 1126**参数:** 1127 1128| 名称 | 描述 | 1129| -------- | -------- | 1130| mediaKeySession | 媒体密钥会话实例。 | 1131| response | 媒体密钥响应。 | 1132| responseLen | 媒体密钥响应长度。 | 1133| offlineMediaKeyId | 离线媒体密钥标识符。 | 1134| offlineMediaKeyIdLen | 缓冲区内和缓冲区外数据的离线媒体密钥标识符的长度。 | 1135 1136**返回:** 1137 1138当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1139 1140 1141### OH_MediaKeySession_ProcessOfflineReleaseResponse() 1142 1143``` 1144Drm_ErrCode OH_MediaKeySession_ProcessOfflineReleaseResponse (MediaKeySession * mediaKeySessoin, uint8_t * offlineMediaKeyId, int32_t offlineMediaKeyIdLen, uint8_t * releaseReponse, int32_t releaseReponseLen ) 1145``` 1146 1147**描述** 1148 1149处理离线媒体密钥释放响应。 1150 1151**起始版本:** 11 1152 1153**参数:** 1154 1155| 名称 | 描述 | 1156| -------- | -------- | 1157| mediaKeySession | 媒体密钥会话实例。 | 1158| offlineMediaKeyId | 离线媒体密钥标识符。 | 1159| offlineMediaKeyIdLen | 离线媒体密钥标识符长度。 | 1160| releaseReponse | 媒体密钥响应。 | 1161| releaseReponseLen | 媒体密钥响应长度。 | 1162 1163**返回:** 1164 1165当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1166 1167 1168### OH_MediaKeySession_RequireSecureDecoderModule() 1169 1170``` 1171Drm_ErrCode OH_MediaKeySession_RequireSecureDecoderModule (MediaKeySession * mediaKeySessoin, const char * mimeType, bool * status ) 1172``` 1173 1174**描述** 1175 1176加密内容是否需要安全解码。 1177 1178**起始版本:** 11 1179 1180**参数:** 1181 1182| 名称 | 描述 | 1183| -------- | -------- | 1184| mediaKeySession | 媒体密钥会话实例。 | 1185| mimeType | 媒体类型。 | 1186| status | 是否需要安全解码。 | 1187 1188**返回:** 1189 1190当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1191 1192 1193### OH_MediaKeySession_RestoreOfflineMediaKeys() 1194 1195``` 1196Drm_ErrCode OH_MediaKeySession_RestoreOfflineMediaKeys (MediaKeySession * mediaKeySessoin, uint8_t * offlineMediaKeyId, int32_t offlineMediaKeyIdLen ) 1197``` 1198 1199**描述** 1200 1201按ID还原离线媒体密钥。 1202 1203**起始版本:** 11 1204 1205**参数:** 1206 1207| 名称 | 描述 | 1208| -------- | -------- | 1209| mediaKeySession | 媒体密钥会话实例。 | 1210| offlineMediaKeyId | 离线媒体密钥标识符。 | 1211| offlineMediaKeyIdLen | 离线媒体密钥标识符长度。 | 1212 1213**返回:** 1214 1215当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1216 1217 1218### OH_MediaKeySession_SetMediaKeySessionCallback() 1219 1220``` 1221Drm_ErrCode OH_MediaKeySession_SetMediaKeySessionCallback (MediaKeySession * mediaKeySessoin, MediaKeySession_Callback * callback ) 1222``` 1223 1224**描述** 1225 1226设置媒体密钥会话事件回调。 1227 1228**起始版本:** 11 1229 1230**参数:** 1231 1232| 名称 | 描述 | 1233| -------- | -------- | 1234| mediaKeySession | 媒体密钥会话实例。 | 1235| callback | 要设置为媒体密钥会话的回调。 | 1236 1237**返回:** 1238 1239当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1240 1241 1242### OH_MediaKeySystem_ClearOfflineMediaKeys() 1243 1244``` 1245Drm_ErrCode OH_MediaKeySystem_ClearOfflineMediaKeys (MediaKeySystem * mediaKeySystem, uint8_t * offlineMediaKeyId, int32_t offlineMediaKeyIdLen ) 1246``` 1247 1248**描述** 1249 1250按id清除离线媒体密钥。 1251 1252**起始版本:** 11 1253 1254**参数:** 1255 1256| 名称 | 描述 | 1257| -------- | -------- | 1258| mediaKeySystem | 媒体密钥系统实例。 | 1259| offlineMediaKeyId | 离线媒体密钥标识符。 | 1260| offlineMediaKeyIdLen | 离线媒体密钥标识符长度。 | 1261 1262**返回:** 1263 1264当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1265 1266 1267### OH_MediaKeySystem_Create() 1268 1269``` 1270Drm_ErrCode OH_MediaKeySystem_Create (const char * name, MediaKeySystem ** mediaKeySystem ) 1271``` 1272 1273**描述** 1274 1275根据名称创建媒体密钥系统实例。 1276 1277**起始版本:** 11 1278 1279**参数:** 1280 1281| 名称 | 描述 | 1282| -------- | -------- | 1283| name | 说明将按名称创建哪个drm系统。 | 1284| mediaKeySystem | 媒体密钥系统实例。 | 1285 1286**返回:** 1287 1288当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK, 当达到媒体密钥会话的最大数量时,返回DRM_ERR_MAX_SYSTEM_NUM_REACHED。 1289 1290 1291### OH_MediaKeySystem_CreateMediaKeySession() 1292 1293``` 1294Drm_ErrCode OH_MediaKeySystem_CreateMediaKeySession (MediaKeySystem * mediaKeySystem, DRM_ContentProtectionLevel * level, MediaKeySession ** mediaKeySession ) 1295``` 1296 1297**描述** 1298 1299创建媒体密钥会话实例。 1300 1301**起始版本:** 11 1302 1303**参数:** 1304 1305| 名称 | 描述 | 1306| -------- | -------- | 1307| mediaKeySystem | 将创建媒体密钥会话的媒体密钥系统实例。 | 1308| level | 指定内容保护级别。 | 1309| mediaKeySession | 媒体密钥会话实例。 | 1310 1311**返回:** 1312 1313当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK, 当达到媒体密钥会话的最大数量时,返回DRM_ERR_MAX_SESSION_NUM_REACHED。 1314 1315 1316### OH_MediaKeySystem_Destroy() 1317 1318``` 1319Drm_ErrCode OH_MediaKeySystem_Destroy (MediaKeySystem * mediaKeySystem) 1320``` 1321 1322**描述** 1323 1324Destroy a 媒体密钥系统实例。 1325 1326**起始版本:** 11 1327 1328**参数:** 1329 1330| 名称 | 描述 | 1331| -------- | -------- | 1332| mediaKeySystem | 指定将销毁哪个媒体密钥系统实例。 | 1333 1334**返回:** 1335 1336当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1337 1338 1339### OH_MediaKeySystem_GenerateKeySystemRequest() 1340 1341``` 1342Drm_ErrCode OH_MediaKeySystem_GenerateKeySystemRequest (MediaKeySystem * mediaKeySystem, uint8_t * request, int32_t * requestLen, char * defaultUrl, int32_t defaultUrlLen ) 1343``` 1344 1345**描述** 1346 1347生成媒体密钥系统提供请求。 1348 1349**起始版本:** 11 1350 1351**参数:** 1352 1353| 名称 | 描述 | 1354| -------- | -------- | 1355| mediaKeySystem | 媒体密钥系统实例。 | 1356| request | 发送给设备服务器的请求。 | 1357| requestLen | 设备证书请求的长度。 | 1358| defaultUrl | 设备证书服务器的网址。 | 1359| defaultUrlLen | 设备证书服务器的网址长度。 | 1360 1361**返回:** 1362 1363当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1364 1365 1366### OH_MediaKeySystem_GetCertificateStatus() 1367 1368``` 1369Drm_ErrCode OH_MediaKeySystem_GetCertificateStatus (MediaKeySystem * mediaKeySystem, DRM_CertificateStatus * certStatus ) 1370``` 1371 1372**描述** 1373 1374获取媒体密钥系统的证书状态。 1375 1376**起始版本:** 11 1377 1378**参数:** 1379 1380| 名称 | 描述 | 1381| -------- | -------- | 1382| mediaKeySystem | 媒体密钥系统实例。 | 1383| certStatus | 获得的证书状态值。 | 1384 1385**返回:** 1386 1387当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1388 1389 1390### OH_MediaKeySystem_GetConfigurationByteArray() 1391 1392``` 1393Drm_ErrCode OH_MediaKeySystem_GetConfigurationByteArray (MediaKeySystem * mediaKeySystem, const char * configName, uint8_t * value, int32_t * valueLen ) 1394``` 1395 1396**描述** 1397 1398按字符数组类型的名称获取媒体密钥系统配置值。 1399 1400**起始版本:** 11 1401 1402**参数:** 1403 1404| 名称 | 描述 | 1405| -------- | -------- | 1406| mediaKeySystem | 媒体密钥系统实例。 | 1407| configName | 配置名称字符串。 | 1408| value | 要获取数组中的配置值。 | 1409| valueLen | 数据的配置值长度。 | 1410 1411**返回:** 1412 1413当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1414 1415 1416### OH_MediaKeySystem_GetConfigurationString() 1417 1418``` 1419Drm_ErrCode OH_MediaKeySystem_GetConfigurationString (MediaKeySystem * mediaKeySystem, const char * configName, char * value, int32_t valueLen ) 1420``` 1421 1422**描述** 1423 1424按字符串类型名称获取媒体密钥系统配置值。 1425 1426**起始版本:** 11 1427 1428**参数:** 1429 1430| 名称 | 描述 | 1431| -------- | -------- | 1432| mediaKeySystem | 媒体密钥系统实例。 | 1433| configName | 字符串类型配置名。 | 1434| value | 字符串形式配置值。 | 1435| valueLen | 字符串形式配置值长度。 | 1436 1437**返回:** 1438 1439当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1440 1441 1442### OH_MediaKeySystem_GetMaxContentProtectionLevel() 1443 1444``` 1445Drm_ErrCode OH_MediaKeySystem_GetMaxContentProtectionLevel (MediaKeySystem * mediaKeySystem, DRM_ContentProtectionLevel * contentProtectionLevel ) 1446``` 1447 1448**描述** 1449 1450获取支持的最高内容保护级别的媒体密钥系统。 1451 1452**起始版本:** 11 1453 1454**参数:** 1455 1456| 名称 | 描述 | 1457| -------- | -------- | 1458| mediaKeySystem | 媒体密钥系统实例。 | 1459| contentProtectionLevel | 内容保护级别。 | 1460 1461**返回:** 1462 1463当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1464 1465 1466### OH_MediaKeySystem_GetOfflineMediaKeyIds() 1467 1468``` 1469Drm_ErrCode OH_MediaKeySystem_GetOfflineMediaKeyIds (MediaKeySystem * mediaKeySystem, DRM_OfflineMediakeyIdArray * offlineMediaKeyIds ) 1470``` 1471 1472**描述** 1473 1474获取离线媒体密钥ID。 1475 1476**起始版本:** 11 1477 1478**参数:** 1479 1480| 名称 | 描述 | 1481| -------- | -------- | 1482| mediaKeySystem | 媒体密钥系统实例。 | 1483| offlineMediaKeyIds | 所有离线媒体密钥的媒体密钥ID。 | 1484 1485**返回:** 1486 1487当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1488 1489 1490### OH_MediaKeySystem_GetOfflineMediaKeyStatus() 1491 1492``` 1493Drm_ErrCode OH_MediaKeySystem_GetOfflineMediaKeyStatus (MediaKeySystem * mediaKeySystem, uint8_t * offlineMediaKeyId, int32_t offlineMediaKeyIdLen, DRM_OfflineMediaKeyStatus * status ) 1494``` 1495 1496**描述** 1497 1498获取离线密钥状态。 1499 1500**起始版本:** 11 1501 1502**参数:** 1503 1504| 名称 | 描述 | 1505| -------- | -------- | 1506| mediaKeySystem | 媒体密钥系统实例。 | 1507| offlineMediaKeyId | 离线媒体密钥标识符。 | 1508| offlineMediaKeyIdLen | 离线媒体密钥标识符长度。 | 1509| status | 已获取媒体密钥状态。 | 1510 1511**返回:** 1512 1513当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1514 1515 1516### OH_MediaKeySystem_GetStatistics() 1517 1518``` 1519Drm_ErrCode OH_MediaKeySystem_GetStatistics (MediaKeySystem * mediaKeySystem, DRM_Statistics * statistics ) 1520``` 1521 1522**描述** 1523 1524获取媒体密钥系统度量信息。 1525 1526**起始版本:** 11 1527 1528**参数:** 1529 1530| 名称 | 描述 | 1531| -------- | -------- | 1532| mediaKeySystem | 媒体密钥系统实例。 | 1533| statistics | 已获取度量信息。 | 1534 1535**返回:** 1536 1537当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1538 1539 1540### OH_MediaKeySystem_IsSupported() 1541 1542``` 1543bool OH_MediaKeySystem_IsSupported (const char * name) 1544``` 1545 1546**描述** 1547 1548查询是否支持媒体密钥系统。 1549 1550**起始版本:** 11 1551 1552**参数:** 1553 1554| 名称 | 描述 | 1555| -------- | -------- | 1556| name | 用于指向数字权限管理解决方案。 | 1557 1558**返回:** 1559 1560是否支持。 1561 1562 1563### OH_MediaKeySystem_IsSupported2() 1564 1565``` 1566bool OH_MediaKeySystem_IsSupported2 (const char * name, const char * mimeType ) 1567``` 1568 1569**描述** 1570 1571查询是否支持媒体密钥系统。 1572 1573**起始版本:** 11 1574 1575**参数:** 1576 1577| 名称 | 描述 | 1578| -------- | -------- | 1579| name | 用于指向数字权限管理解决方案。 | 1580| mimeType | 用于指定媒体类型。 | 1581 1582**返回:** 1583 1584是否支持。 1585 1586 1587### OH_MediaKeySystem_IsSupported3() 1588 1589``` 1590bool OH_MediaKeySystem_IsSupported3 (const char * name, const char * mimeType, DRM_ContentProtectionLevel contentProtectionLevel ) 1591``` 1592 1593**描述** 1594 1595查询是否支持媒体密钥系统。 1596 1597**起始版本:** 11 1598 1599**参数:** 1600 1601| 名称 | 描述 | 1602| -------- | -------- | 1603| name | 用于指向数字权限管理解决方案。 | 1604| mimeType | 用于指定媒体类型。 | 1605| contentProtectionLevel | 用于指定安全等级。 | 1606 1607**返回:** 1608 1609是否支持。 1610 1611 1612### OH_MediaKeySystem_ProcessKeySystemResponse() 1613 1614``` 1615Drm_ErrCode OH_MediaKeySystem_ProcessKeySystemResponse (MediaKeySystem * mediaKeySystem, uint8_t * response, int32_t responseLen ) 1616``` 1617 1618**描述** 1619 1620处理媒体密钥系统提供响应。 1621 1622**起始版本:** 11 1623 1624**参数:** 1625 1626| 名称 | 描述 | 1627| -------- | -------- | 1628| mediaKeySystem | 媒体密钥系统实例。 | 1629| response | 将处理的响应。 | 1630| responseLen | 响应长度。 | 1631 1632**返回:** 1633 1634当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1635 1636 1637### OH_MediaKeySystem_SetConfigurationByteArray() 1638 1639``` 1640Drm_ErrCode OH_MediaKeySystem_SetConfigurationByteArray (MediaKeySystem * mediaKeySystem, const char * configName, uint8_t * value, int32_t valueLen ) 1641``` 1642 1643**描述** 1644 1645通过字符数组类型配置名设置MediaKeySystem的配置值。 1646 1647**起始版本:** 11 1648 1649**参数:** 1650 1651| 名称 | 描述 | 1652| -------- | -------- | 1653| mediaKeySystem | 媒体密钥系统实例。 | 1654| configName | 字符串类型配置名。 | 1655| value | 字节数组形式配置值。 | 1656| valueLen | 字节数组形式配置值长度。 | 1657 1658**返回:** 1659 1660当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1661 1662 1663### OH_MediaKeySystem_SetConfigurationString() 1664 1665``` 1666Drm_ErrCode OH_MediaKeySystem_SetConfigurationString (MediaKeySystem * mediaKeySystem, const char * configName, const char * value ) 1667``` 1668 1669**描述** 1670 1671按字符串类型名称设置媒体密钥系统配置值。 1672 1673**起始版本:** 11 1674 1675**参数:** 1676 1677| 名称 | 描述 | 1678| -------- | -------- | 1679| mediaKeySystem | 媒体密钥系统实例。 | 1680| configName | 配置名称字符串。 | 1681| value | 要设置的字符串的配置值。 | 1682 1683**返回:** 1684 1685当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1686 1687 1688### OH_MediaKeySystem_SetMediaKeySystemCallback() 1689 1690``` 1691Drm_ErrCode OH_MediaKeySystem_SetMediaKeySystemCallback (MediaKeySystem * mediaKeySystem, MediaKeySystem_Callback callback ) 1692``` 1693 1694**描述** 1695 1696设置媒体密钥系统事件回调。 1697 1698**起始版本:** 11 1699 1700**参数:** 1701 1702| 名称 | 描述 | 1703| -------- | -------- | 1704| mediaKeySystem | 媒体密钥系统实例。 | 1705| callback | 将回调设置为媒体密钥系统。 | 1706 1707**返回:** 1708 1709当参数检查失败时返回DRM_ERR_INVALID_VAL,当函数调用成功时返回DRM_ERR_OK。 1710 1711 1712## 变量说明 1713 1714 1715### data [1/2] 1716 1717``` 1718uint8_t DRM_MediaKeyRequest::data[MAX_MEDIA_KEY_REQUEST_DATA_LEN] 1719``` 1720 1721**描述** 1722 1723发送到媒体密钥服务器的媒体密钥请求数据。 1724 1725 1726### data [2/2] 1727 1728``` 1729uint8_t DRM_PsshInfo::data[MAX_PSSH_DATA_LEN] 1730``` 1731 1732**描述** 1733 1734uint8_t PSSH数据。 1735 1736 1737### dataLen [1/2] 1738 1739``` 1740int32_t DRM_MediaKeyRequest::dataLen 1741``` 1742 1743**描述** 1744 1745媒体密钥请求数据长度。 1746 1747 1748### dataLen [2/2] 1749 1750``` 1751int32_t DRM_PsshInfo::dataLen 1752``` 1753 1754**描述** 1755 1756PSSH数据长度。 1757 1758 1759### defaultUrl 1760 1761``` 1762char DRM_MediaKeyRequest::defaultUrl[MAX_DEFAULT_URL_LEN] 1763``` 1764 1765**描述** 1766 1767媒体密钥服务器URL。 1768 1769 1770### eventCallback 1771 1772``` 1773MediaKeySession_EventCallback MediaKeySession_Callback::eventCallback 1774``` 1775 1776**描述** 1777 1778正常事件回调,如密钥过期等。 1779 1780 1781### ids 1782 1783``` 1784uint8_t DRM_OfflineMediakeyIdArray::ids[MAX_OFFLINE_MEDIA_KEY_ID_COUNT][MAX_OFFLINE_MEDIA_KEY_ID_LEN] 1785``` 1786 1787**描述** 1788 1789ID数据集合 1790 1791 1792### idsCount 1793 1794``` 1795uint32_t DRM_OfflineMediakeyIdArray::idsCount 1796``` 1797 1798**描述** 1799 1800ID计数 1801 1802 1803### idsLen 1804 1805``` 1806int32_t DRM_OfflineMediakeyIdArray::idsLen[MAX_OFFLINE_MEDIA_KEY_ID_COUNT] 1807``` 1808 1809**描述** 1810 1811ID长度集合 1812 1813 1814### initData 1815 1816``` 1817uint8_t DRM_MediaKeyRequestInfo::initData[MAX_INIT_DATA_LEN] 1818``` 1819 1820**描述** 1821 1822base64解码后格式为PSSH的初始数据。 1823 1824 1825### initDataLen 1826 1827``` 1828int32_t DRM_MediaKeyRequestInfo::initDataLen 1829``` 1830 1831**描述** 1832 1833初始数据长度。 1834 1835 1836### keyChangeCallback 1837 1838``` 1839MediaKeySession_KeyChangeCallback MediaKeySession_Callback::keyChangeCallback 1840``` 1841 1842**描述** 1843 1844密钥更改事件的密钥更改回调。 1845 1846 1847### keyId 1848 1849``` 1850uint8_t DRM_KeysInfo::keyId[MAX_KEY_INFO_COUNT][MAX_KEY_ID_LEN] 1851``` 1852 1853**描述** 1854 1855密钥ID集合。 1856 1857 1858### keysInfoCount 1859 1860``` 1861uint32_t DRM_KeysInfo::keysInfoCount 1862``` 1863 1864**描述** 1865 1866钥匙计数。 1867 1868 1869### mimeType 1870 1871``` 1872char DRM_MediaKeyRequestInfo::mimeType[MAX_MIMETYPE_LEN] 1873``` 1874 1875**描述** 1876 1877媒体上下文的mime类型。 1878 1879 1880### optionData 1881 1882``` 1883char DRM_MediaKeyRequestInfo::optionData[MAX_MEDIA_KEY_REQUEST_OPTION_COUNT][MAX_MEDIA_KEY_REQUEST_OPTION_DATA_LEN] 1884``` 1885 1886**描述** 1887 1888选项数据集合。 1889 1890 1891### optionName 1892 1893``` 1894char DRM_MediaKeyRequestInfo::optionName[MAX_MEDIA_KEY_REQUEST_OPTION_COUNT][MAX_MEDIA_KEY_REQUEST_OPTION_NAME_LEN] 1895``` 1896 1897**描述** 1898 1899选项名称集合。 1900 1901 1902### optionsCount 1903 1904``` 1905uint32_t DRM_MediaKeyRequestInfo::optionsCount 1906``` 1907 1908**描述** 1909 1910选项数据计数。 1911 1912 1913### psshCount 1914 1915``` 1916uint32_t DRM_MediaKeySystemInfo::psshCount 1917``` 1918 1919**描述** 1920 1921PSSH计数。 1922 1923 1924### psshInfo 1925 1926``` 1927DRM_PsshInfo DRM_MediaKeySystemInfo::psshInfo[MAX_PSSH_INFO_COUNT] 1928``` 1929 1930**描述** 1931 1932PSSH信息. 1933 1934 1935### statisticsCount 1936 1937``` 1938uint32_t DRM_Statistics::statisticsCount 1939``` 1940 1941**描述** 1942 1943度量计数。 1944 1945 1946### statisticsDescription 1947 1948``` 1949char DRM_Statistics::statisticsDescription[MAX_STATISTICS_COUNT][MAX_STATISTICS_BUFFER_LEN] 1950``` 1951 1952**描述** 1953 1954度量信息描述集合。 1955 1956 1957### statisticsName 1958 1959``` 1960char DRM_Statistics::statisticsName[MAX_STATISTICS_COUNT][MAX_STATISTICS_NAME_LEN] 1961``` 1962 1963**描述** 1964 1965度量信息名称集合。 1966 1967 1968### statusCount 1969 1970``` 1971uint32_t DRM_MediaKeyStatus::statusCount 1972``` 1973 1974**描述** 1975 1976状态计数。 1977 1978 1979### statusName 1980 1981``` 1982char DRM_MediaKeyStatus::statusName[MAX_MEDIA_KEY_STATUS_COUNT][MAX_MEDIA_KEY_STATUS_NAME_LEN] 1983``` 1984 1985**描述** 1986 1987状态名数组。 1988 1989 1990### statusValue [1/2] 1991 1992``` 1993char DRM_KeysInfo::statusValue[MAX_KEY_INFO_COUNT][MAX_KEY_STATUS_VALUE_LEN] 1994``` 1995 1996**描述** 1997 1998关键状态值。 1999 2000 2001### statusValue [2/2] 2002 2003``` 2004char DRM_MediaKeyStatus::statusValue[MAX_MEDIA_KEY_STATUS_COUNT][MAX_MEDIA_KEY_STATUS_VALUE_LEN] 2005``` 2006 2007**描述** 2008 2009状态值数组。 2010 2011 2012### type [1/2] 2013 2014``` 2015DRM_MediaKeyType DRM_MediaKeyRequestInfo::type 2016``` 2017 2018**描述** 2019 2020密钥类型 2021 2022 2023### type [2/2] 2024 2025``` 2026DRM_MediaKeyRequestType DRM_MediaKeyRequest::type 2027``` 2028 2029**描述** 2030 2031媒体密钥请求类型。 2032 2033 2034### uuid 2035 2036``` 2037uint8_t DRM_PsshInfo::uuid[DRM_UUID_LEN] 2038``` 2039 2040**描述** 2041 2042Uuid. 2043