harmony 鸿蒙native_mediakeysession.h

  • 2025-06-12
  • 浏览 (6)

native_mediakeysession.h

概述

定义Drm MediaKeySession API。提供以下功能:生成媒体密钥请求、处理媒体密钥响应、事件监听、获取内容保护级别、检查媒体密钥状态、删除媒体密钥等。

库: libnative_drm.so

引用文件: <multimedia/drm_framework/native_mediakeysession.h>

系统能力: SystemCapability.Multimedia.Drm.Core

起始版本: 11

相关模块:Drm

汇总

结构体

名称 描述
struct MediaKeySession_Callback MediaKeySession_Callback结构体,用于监听密钥过期、密钥更改等事件,不返回媒体密钥会话实例,适用于单媒体密钥会话解密场景。
struct OH_MediaKeySession_Callback OH_MediaKeySession_Callback结构体,用于监听密钥过期、密钥更改等事件,返回媒体密钥会话实例,适用多个媒体密钥会话解密场景。

类型定义

名称 描述
typedef Drm_ErrCode(* MediaKeySession_EventCallback) (DRM_EventType eventType, uint8_t *info, int32_t infoLen, char *extra) MediaKeySession事件触发时将调用的回调。
typedef Drm_ErrCode(* MediaKeySession_KeyChangeCallback) (DRM_KeysInfo *keysInfo, bool newKeysAvailable) 密钥变换时将调用回调。
typedef struct MediaKeySession_Callback MediaKeySession_Callback MediaKeySession_Callback结构体,用于监听密钥过期、密钥变换等事件,不返回媒体密钥会话实例,适用于单媒体密钥会话解密场景。
typedef Drm_ErrCode(* OH_MediaKeySession_EventCallback) (MediaKeySession *mediaKeySession, DRM_EventType eventType, uint8_t *info, int32_t infoLen, char *extra) 事件触发时将调用的回调。
typedef Drm_ErrCode(* OH_MediaKeySession_KeyChangeCallback) (MediaKeySession *mediaKeySession, DRM_KeysInfo *keysInfo, bool newKeysAvailable) 密钥变换时将调用的回调。
typedef struct OH_MediaKeySession_Callback OH_MediaKeySession_Callback OH_MediaKeySession_Callback结构体,用于监听密钥过期、密钥变换等事件,返回媒体密钥会话实例,适用多个媒体密钥会话解密场景。

函数

名称 描述
Drm_ErrCode OH_MediaKeySession_GenerateMediaKeyRequest (MediaKeySession *mediaKeySession, DRM_MediaKeyRequestInfo *info, DRM_MediaKeyRequest *mediaKeyRequest) 生成媒体密钥请求。
Drm_ErrCode OH_MediaKeySession_ProcessMediaKeyResponse (MediaKeySession *mediaKeySession, uint8_t *response, int32_t responseLen, uint8_t *offlineMediaKeyId, int32_t *offlineMediaKeyIdLen) 处理媒体密钥请求响应。
Drm_ErrCode OH_MediaKeySession_CheckMediaKeyStatus (MediaKeySession *mediaKeySession, DRM_MediaKeyStatus *mediaKeyStatus) 检查媒体密钥状态。
Drm_ErrCode OH_MediaKeySession_ClearMediaKeys (MediaKeySession *mediaKeySession) 清除当前会话的媒体密钥。
Drm_ErrCode OH_MediaKeySession_GenerateOfflineReleaseRequest (MediaKeySession *mediaKeySession, uint8_t *offlineMediaKeyId, int32_t offlineMediaKeyIdLen, uint8_t *releaseRequest, int32_t *releaseRequestLen) 生成离线媒体密钥释放请求。
Drm_ErrCode OH_MediaKeySession_ProcessOfflineReleaseResponse (MediaKeySession *mediaKeySession, uint8_t *offlineMediaKeyId, int32_t offlineMediaKeyIdLen, uint8_t *releaseReponse, int32_t releaseReponseLen) 处理离线媒体密钥释放请求响应。
Drm_ErrCode OH_MediaKeySession_RestoreOfflineMediaKeys (MediaKeySession *mediaKeySession, uint8_t *offlineMediaKeyId, int32_t offlineMediaKeyIdLen) 恢复离线媒体密钥到当前会话。
Drm_ErrCode OH_MediaKeySession_GetContentProtectionLevel (MediaKeySession *mediaKeySession, DRM_ContentProtectionLevel *contentProtectionLevel) 获取会话的内容保护级别。
Drm_ErrCode OH_MediaKeySession_RequireSecureDecoderModule (MediaKeySession *mediaKeySession, const char *mimeType, bool *status) 是否需要安全解码。
Drm_ErrCode OH_MediaKeySession_SetMediaKeySessionCallback (MediaKeySession *mediaKeySession, MediaKeySession_Callback *callback) 设置媒体密钥会话事件回调。
Drm_ErrCode OH_MediaKeySession_SetCallback (MediaKeySession *mediaKeySession, OH_MediaKeySession_Callback *callback) 设置媒体密钥会话事件回调。
Drm_ErrCode OH_MediaKeySession_Destroy (MediaKeySession *mediaKeySession) 销毁MediaKeySession。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙DRM Kit(数字版权保护服务)

harmony 鸿蒙DRM_KeysInfo

harmony 鸿蒙DRM_MediaKeyRequest

harmony 鸿蒙DRM_MediaKeyRequestInfo

harmony 鸿蒙DRM_MediaKeyStatus

harmony 鸿蒙DRM_MediaKeySystemDescription

harmony 鸿蒙DRM_MediaKeySystemInfo

harmony 鸿蒙DRM_OfflineMediakeyIdArray

harmony 鸿蒙DRM_PsshInfo

harmony 鸿蒙DRM_Statistics

0  赞