首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Android (TV)上检查HDCP的API < 28?

如何在Android (TV)上检查HDCP的API < 28?
EN

Stack Overflow用户
提问于 2021-05-27 08:09:20
回答 1查看 630关注 0票数 1

我有一个Android电视棒,我想区分什么是支持HDCP版本?

我已经找到了一些东西,似乎很管用:

代码语言:javascript
复制
    try {
        val uuid = UUID.fromString("1f83e1e8-6ee9-4f0d-ba2f-5ec4e3ed1a66")
        val mediaDrm = MediaDrm(uuid)
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            mediaDrm.connectedHdcpLevel
        }
    } catch (use : UnsupportedSchemeException) {
        Log(use.localizedMessage)
    }

文件上说

在API级别28中添加

如何读取老API < 28的HDCP级别?

EN

回答 1

Stack Overflow用户

发布于 2021-08-26 05:08:42

根据您的问题,只适用于API V28或之前,请参见这里.

您可以不受此限制,但在进入此阶段之前,您可能必须检查您的版本级别。

代码语言:javascript
复制
// CHECK if V28 or before... ONLY then enter the REST of the below code...
val algorithms = mediaDrm.getPropertyString("maxHdcpLevel")

// you also Then manually suppress the warning error/constant


// get your maxHdcpLevel manually
val stringProperties = arrayOf(
                MediaDrm.PROPERTY_VENDOR,
                MediaDrm.PROPERTY_VERSION,
                MediaDrm.PROPERTY_DESCRIPTION,
                MediaDrm.PROPERTY_ALGORITHMS,
                "maxHdcpLevel")

val devicePropertiesMap = ... MapOf<String, String>()

for (attributes in stringProperties) {
     devicePropertiesMap [attributes ] = mediaDrm.getPropertyString(attributes )
     Log.mydebug(attributes , mediaDrm.getPropertyString(attributes ))
     }

Log.mydebug("maxHdcpLevel:", "${devicePropertiesMap ["maxHdcpLevel"]}")

现在你可以很容易地访问这些东西了。使用下面的代码示例

代码语言:javascript
复制
 val myDeviceHdcpLevel    = mediaDrm.getPropertyString("hdcpLevel")
 val myDeviceMaxHdcpLevel = mediaDrm.getPropertyString("maxHdcpLevel")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67718179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档