我有一个Android电视棒,我想区分什么是支持HDCP版本?
我已经找到了一些东西,似乎很管用:
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级别?
发布于 2021-08-26 05:08:42
根据您的问题,只适用于API V28或之前,请参见这里.
您可以不受此限制,但在进入此阶段之前,您可能必须检查您的版本级别。
// 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"]}")现在你可以很容易地访问这些东西了。使用下面的代码示例
val myDeviceHdcpLevel = mediaDrm.getPropertyString("hdcpLevel")
val myDeviceMaxHdcpLevel = mediaDrm.getPropertyString("maxHdcpLevel")https://stackoverflow.com/questions/67718179
复制相似问题