# native_mediakeysession.h ## 概述 定义Drm MediaKeySession API。æä¾›ä»¥ä¸‹åŠŸèƒ½ï¼šç”Ÿæˆåª’体密钥请求ã€å¤„ç†åª’体密钥å“应ã€äº‹ä»¶ç›‘å¬ã€èŽ·å–å†…å®¹ä¿æŠ¤çº§åˆ«ã€æ£€æŸ¥åª’体密钥状æ€ã€åˆ 除媒体密钥ç‰ã€‚ **库:** libnative_drm.so **引用文件:** <multimedia/drm_framework/native_mediakeysession.h> **系统能力:** SystemCapability.Multimedia.Drm.Core **起始版本:** 11 **相关模å—:**[Drm](_drm.md) ## 汇总 ### 结构体 | åç§° | æè¿° | | -------- | -------- | | struct [MediaKeySession_Callback](_media_key_session___callback.md) | MediaKeySession_Callback结构体,用于监å¬å¯†é’¥è¿‡æœŸã€å¯†é’¥æ›´æ”¹ç‰äº‹ä»¶ï¼Œä¸è¿”回媒体密钥会è¯å®žä¾‹ï¼Œé€‚用于å•媒体密钥会è¯è§£å¯†åœºæ™¯ã€‚ | | struct [OH_MediaKeySession_Callback](_o_h___media_key_session___callback.md) | OH_MediaKeySession_Callback结构体,用于监å¬å¯†é’¥è¿‡æœŸã€å¯†é’¥æ›´æ”¹ç‰äº‹ä»¶ï¼Œè¿”回媒体密钥会è¯å®žä¾‹ï¼Œé€‚用多个媒体密钥会è¯è§£å¯†åœºæ™¯ã€‚ | ### 类型定义 | åç§° | æè¿° | | -------- | -------- | | typedef [Drm_ErrCode](_drm.md#drm_errcode)(\* [MediaKeySession_EventCallback](_drm.md#mediakeysession_eventcallback)) ([DRM_EventType](_drm.md#drm_eventtype) eventType, uint8_t \*info, int32_t infoLen, char \*extra) | MediaKeySessionäº‹ä»¶è§¦å‘æ—¶å°†è°ƒç”¨çš„回调。 | | typedef [Drm_ErrCode](_drm.md#drm_errcode)(\* [MediaKeySession_KeyChangeCallback](_drm.md#mediakeysession_keychangecallback)) ([DRM_KeysInfo](_d_r_m___keys_info.md) \*keysInfo, bool newKeysAvailable) | å¯†é’¥å˜æ¢æ—¶å°†è°ƒç”¨å›žè°ƒã€‚ | | typedef struct [MediaKeySession_Callback](_media_key_session___callback.md) [MediaKeySession_Callback](_drm.md#mediakeysession_callback) | MediaKeySession_Callback结构体,用于监å¬å¯†é’¥è¿‡æœŸã€å¯†é’¥å˜æ¢ç‰äº‹ä»¶ï¼Œä¸è¿”回媒体密钥会è¯å®žä¾‹ï¼Œé€‚用于å•媒体密钥会è¯è§£å¯†åœºæ™¯ã€‚ | | typedef [Drm_ErrCode](_drm.md#drm_errcode)(\* [OH_MediaKeySession_EventCallback](_drm.md#oh_mediakeysession_eventcallback)) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin, [DRM_EventType](_drm.md#drm_eventtype) eventType, uint8_t \*info, int32_t infoLen, char \*extra) | äº‹ä»¶è§¦å‘æ—¶å°†è°ƒç”¨çš„回调。 | | typedef [Drm_ErrCode](_drm.md#drm_errcode)(\* [OH_MediaKeySession_KeyChangeCallback](_drm.md#oh_mediakeysession_keychangecallback)) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin, [DRM_KeysInfo](_d_r_m___keys_info.md) \*keysInfo, bool newKeysAvailable) | å¯†é’¥å˜æ¢æ—¶å°†è°ƒç”¨çš„回调。 | | typedef struct [OH_MediaKeySession_Callback](_o_h___media_key_session___callback.md) [OH_MediaKeySession_Callback](_drm.md#oh_mediakeysession_callback) | OH_MediaKeySession_Callback结构体,用于监å¬å¯†é’¥è¿‡æœŸã€å¯†é’¥å˜æ¢ç‰äº‹ä»¶ï¼Œè¿”回媒体密钥会è¯å®žä¾‹ï¼Œé€‚用多个媒体密钥会è¯è§£å¯†åœºæ™¯ã€‚ | ### 函数 | åç§° | æè¿° | | -------- | -------- | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_GenerateMediaKeyRequest](_drm.md#oh_mediakeysession_generatemediakeyrequest) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySession, [DRM_MediaKeyRequestInfo](_d_r_m___media_key_request_info.md) \*info, [DRM_MediaKeyRequest](_d_r_m___media_key_request.md) \*mediaKeyRequest) | 生æˆåª’体密钥请求。 | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_ProcessMediaKeyResponse](_drm.md#oh_mediakeysession_processmediakeyresponse) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySession, uint8_t \*response, int32_t responseLen, uint8_t \*offlineMediaKeyId, int32_t \*offlineMediaKeyIdLen) | 处ç†åª’体密钥请求å“应。 | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_CheckMediaKeyStatus](_drm.md#oh_mediakeysession_checkmediakeystatus) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin, [DRM_MediaKeyStatus](_d_r_m___media_key_status.md) \*mediaKeyStatus) | 检查媒体密钥状æ€ã€‚ | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_ClearMediaKeys](_drm.md#oh_mediakeysession_clearmediakeys) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin) | 清除当å‰ä¼šè¯çš„媒体密钥。 | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_GenerateOfflineReleaseRequest](_drm.md#oh_mediakeysession_generateofflinereleaserequest) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin, uint8_t \*offlineMediaKeyId, int32_t offlineMediaKeyIdLen, uint8_t \*releaseRequest, int32_t \*releaseRequestLen) | 生æˆç¦»çº¿åª’体密钥释放请求。 | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_ProcessOfflineReleaseResponse](_drm.md#oh_mediakeysession_processofflinereleaseresponse) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin, uint8_t \*offlineMediaKeyId, int32_t offlineMediaKeyIdLen, uint8_t \*releaseReponse, int32_t releaseReponseLen) | 处ç†ç¦»çº¿åª’体密钥释放请求å“应。 | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_RestoreOfflineMediaKeys](_drm.md#oh_mediakeysession_restoreofflinemediakeys) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin, uint8_t \*offlineMediaKeyId, int32_t offlineMediaKeyIdLen) | æ¢å¤ç¦»çº¿åª’体密钥到当å‰ä¼šè¯ã€‚ | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_GetContentProtectionLevel](_drm.md#oh_mediakeysession_getcontentprotectionlevel) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin, [DRM_ContentProtectionLevel](_drm.md#drm_contentprotectionlevel) \*contentProtectionLevel) | 获å–会è¯çš„å†…å®¹ä¿æŠ¤çº§åˆ«ã€‚ | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_RequireSecureDecoderModule](_drm.md#oh_mediakeysession_requiresecuredecodermodule) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin, const char \*mimeType, bool \*status) | 是å¦éœ€è¦å®‰å…¨è§£ç 。 | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_SetMediaKeySessionCallback](_drm.md#oh_mediakeysession_setmediakeysessioncallback) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin, [MediaKeySession_Callback](_media_key_session___callback.md) \*callback) | 设置媒体密钥会è¯äº‹ä»¶å›žè°ƒã€‚ | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_SetCallback](_drm.md#oh_mediakeysession_setcallback) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin, [OH_MediaKeySession_Callback](_o_h___media_key_session___callback.md) \*callback) | 设置媒体密钥会è¯äº‹ä»¶å›žè°ƒã€‚ | | [Drm_ErrCode](_drm.md#drm_errcode) [OH_MediaKeySession_Destroy](_drm.md#oh_mediakeysession_destroy) ([MediaKeySession](_drm.md#mediakeysession) \*mediaKeySessoin) | 销æ¯MediaKeySession。 |