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