小编Ric*_*ice的帖子

检测 Widevine DRM HDCP 保护级别

我目前正在切换到使用 Dash/Widevine DRM 的 ExoPlayer。通过测试,我发现很大比例的设备没有启用 HDCP 保护。由于合同协议,这是一个问题。我必须在允许播放之前检测到并记录它。

我从应用程序DRM 信息中获得灵感,认为这甚至是可能的 宽藤屏幕拍摄

我的第一个想法是使用DrmManagerClient

我放弃了它,因为我没有得到结果并尝试使用MediaDrm

val mediaDrm = MediaDrm(WIDEVINE_UUID)

val vendor = mediaDrm.getPropertyString(MediaDrm.PROPERTY_VENDOR)
val version = mediaDrm.getPropertyString(MediaDrm.PROPERTY_VERSION)
val description = mediaDrm.getPropertyString(MediaDrm.PROPERTY_DESCRIPTION)
val algorithms = mediaDrm.getPropertyString(MediaDrm.PROPERTY_ALGORITHMS)

var hdcp: String? = null

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
   hdcp = mediaDrm.connectedHdcpLevel.toString()
}

Log.i("WideVine", "$vendor $version $description $algorithms $hdcp")
Run Code Online (Sandbox Code Playgroud)

哪个有效!惊人的问题解决了!

...除非如你所见,它只适用于 Pie 及以上...这是不行的。DrmInfo 适用于我尝试过的每个 Android 版本。我只是不知道如何使用DrmManagerClient,而且文档几乎不存在。

任何信息都将受到重视,谢谢。

android drm hdcp widevine

3
推荐指数
1
解决办法
3974
查看次数

标签 统计

android ×1

drm ×1

hdcp ×1

widevine ×1