2

我正在制作一个应用程序,我必须在其中检查Android 设备中是否存在Google Widevine DRM 。如何以编程方式检查?

提前致谢

4

3 回答 3

3

Android DRM 框架提供了一种方法来检查哪些 DRM 系统可用 -

String[] engines = mDrmManager.getAvailableDrmEngines()

返回的名称可能有点令人困惑,但如果您使用它,您应该会看到您要查找的内容。

值得一提的是,Widevine 有不同的级别,具体取决于 DRM 密钥的保护方式以及播放是否在硬件内都是安全的。

Widevine 也有两种通用类型——旧设备上的 Widevine classic 和新设备上的 Widevine Modular。

您可以在此处查看有关如何确定 Widevine Classic 级别的一些详细信息:

于 2016-12-29T10:34:35.377 回答
0

我们可以使用此方法为任何 android 设备获取特定的 Widevine 安全级别https://developer.android.com/reference/android/media/MediaDrm#getPropertyString(java.lang.String)

用于说明文档的短代码片段。

val widevineKeyDrm = MediaDrm(C.WIDEVINE_UUID)
val securityLevel = widevineKeyDrm.getPropertyString()

PS。C.WIDEVINE_UUID从这里获取常量https://github.com/donparapidos/ExoPlayer/blob/master/library/src/main/java/com/google/android/exoplayer2/C.java

于 2021-10-27T13:48:30.203 回答
0

我通过探索 ExoPlayer 库找到了解决方案

private boolean isWideVineDRMAvailable()
{
    return  MediaDrm.isCryptoSchemeSupported(C.WIDEVINE_UUID);
}

C 是 ExoPlayer 库中可用的常量类。

于 2018-12-17T09:37:44.807 回答