7

我正在使用具有受版权保护的视频的应用程序,这些视频只能在 Android 设备中使用,而不能在通过 HDMI 或无线连接的外部显示器中使用。我发现了很棒的AP​​I PresentationDisplayManager来检测和控制要在外部显示器上显示的内容,但是这个 API 仅在 API 17 (android 4.2) 和 plus 中可用。关于如何在 android 4.2 以下执行此操作的任何想法,或者至少检测并通知连接的显示器。

问题#2:如果android设备连接到PC进行屏幕录制怎么办?PresentationDisplayManager API可以帮助检测吗?

4

2 回答 2

3

回到 API 16,您可以使用 MediaRouter 类。参见安卓开发者网站。

要获得演示文稿的默认显示,请调用 MediaRouter.getSelectedRoute() 并将其传递给 ROUTE_TYPE_LIVE_VIDEO。这将返回一个 MediaRouter.RouteInfo 对象,该对象描述系统当前为视频演示选择的路由。如果 MediaRouter.RouteInfo 不为 null,则调用 getPresentationDisplay() 以获取表示已连接显示器的 Display。

完整来源:http: //developer.android.com/about/versions/android-4.2.html#SecondaryDisplays

于 2015-09-17T23:47:57.347 回答
1

关于如何在 android 4.2 以下执行此操作的任何想法,或者至少检测并通知连接的显示器。

MediaRouter如 Distwo 的回答中所述,除了可能在 API 级别 16 中之外,在旧版本的 Android 中不支持应用程序级访问外部显示器。甚至很少有设备支持外接显示器;那些只提供操作系统级别的屏幕镜像。

如果您想这样称呼它,最好的办法是使用一些这样的设备,看看是否有任何常见的 LogCat 消息表明存在外部显示器,或者/proc. 但是,很有可能这些最终会因制造商和设备而异。

如果android设备连接到PC进行屏幕录制怎么办。Presentation 或 DisplayManager API 可以帮助检测吗?

不。

于 2015-09-18T00:09:17.957 回答