如何检测Android设备上的HDMI端口是否启用了HDCP?

时间:2013-08-22 02:34:31

标签: android drm hdmi hdcp

在Android Doc和Google上找不到任何明确的内容。

如果有API检测到这一点,它是什么以及在HDMI输出上启用/禁用HDCP的API是什么?

如果没有API可以检测到这一点,是否可以使用设备检查HDMI端口上的HDCP标志?

在某些Android设备(最值得注意的是三星设备)上,HDMI端口始终启用了HDCP。 但其他制造商的设备呢?在Google认证的设备上是否必须使用HDCP?如果不是强制性的,主要内容提供商的Android应用程序(来自Big cable company teleco)如何阻止视频输出到非HDCP保护的HDMI端口?

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

这是一个较旧的主题 - 但由于我正在研究这些东西,我想我会更新。

从API 17(Android 4.2+)开始,您可以从标准Android SDK获得适当的HDCP信息代理。

如果要确保显示“安全”,可以在应用程序Surface上调用setSecure(true)。然后,为了更好地衡量,您可以枚举可用的显示并验证是否为每个显示设置了FLAG_SECURE。这将阻止DDMS,并至少向显示驱动程序提示输出应打开HDCP。但不保证,您的里程可能会有所不同。

进一步说明 - 上面提到的Alex路径可能在较新的设备(Android 5.1+)上发生了变化。但由于这取决于OEM,因此预计这可能因不同设备而异。 : - (

答案 2 :(得分:0)

摩托罗拉拥有 API:http://web.archive.org/web/20120213100531/http://developer.motorola.com/docstools/library/motorola-hdmi-status-api/

我们仍然将它用于旧设备。我还读到有人在通过adb在新设备上使用此功能仍然取得了一些成功,所以如果有人知道这仍然适用于较新的摩托罗拉设备,请分享。

另外我知道这不是你要求的,但我们将它用于HDMI状态(/ sys / devices / virtual / switch / hdmi / state),希望他们将来扩展它以支持HDCP好吧......所以你可能也想看那个空间。

答案 3 :(得分:-1)

如果它有HDMI端口,通常会启用HDCP,因为没有它就无法工作!