【发布时间】:2026-01-06 03:40:01
【问题描述】:
我使用 MediaProjectionManager(从 Lollipop 开始)记录我的 android 设备屏幕。但我想在新的最上面的 Surface 的同一屏幕上显示此记录。记录 MediaProjectionManager 不应触及此表面(记录所有可见表面的合成)。是否有任何系统 SurfaceView 无法被 MediaProjectionManager 识别以将其流式传输到它上?
或者换句话说:如何防止记录某些 SurfaceView,使它们对记录器不可见?有没有要设置的标志?
我使用 MattSnider 的这段代码进行录制: http://mattsnider.com/video-recording-with-mediaprojectionmanager/
【问题讨论】:
-
您可以将其标记为“安全”,这将使其显示为黑色,但我认为没有办法将其标记为“不可见”。但是我还没有查看最近的 Android 是否存在这样的事情。通常,当您这样做时,您会获得“镜厅”效果。
-
在 SurfaceView 上设置标志 -- developer.android.com/reference/android/view/…
-
嗨@fadden,感谢您回答这个问题和其他几个类似的问题。你觉得4年后会好转吗?此功能对于想要修改标准显示行为的应用程序非常有用。我也想知道有什么可行的方法可以在不生根的情况下到达那里。
标签: android surfaceview android-mediaprojection