【发布时间】:2016-09-14 19:44:46
【问题描述】:
我一直在阅读 MediaProjection API,并在 Github 上查看了一些示例项目,展示了如何使用它。
所有这些项目只展示了如何将屏幕截图保存在文件中(记录屏幕),而没有展示如何将其实时传输到另一台设备(截屏)。
我不确定这是否可以通过此 API 实现,但后来我阅读了 docs:
截屏和分享
Android 5.0 允许您添加屏幕捕获 和屏幕共享功能到您的应用程序与新 android.media.projection API。 此功能很有用,对于 例如,如果您想在视频会议中启用屏幕共享 应用程序。
新的 createVirtualDisplay() 方法允许您的应用捕获 将主屏幕(默认显示)的内容放入 Surface 对象,然后您的应用可以通过网络发送该对象。仅限 API 允许捕获非安全的屏幕内容,而不是系统音频。到 开始屏幕捕获,您的应用必须首先请求用户的 通过使用 Intent 启动屏幕捕获对话框来获得许可 通过createScreenCaptureIntent()方法获取。
有关如何使用新 API 的示例,请参阅 MediaProjectionDemo 示例项目中的类。
我整天都在搜索有关如何使用 Surface 对象传输数据,然后在另一台设备上接收和显示它们的示例,但没有运气。
所以问题是,怎么做?谁能指出我正确的方向?
【问题讨论】:
-
嗨@rick-sanchez,你找到答案了吗?
-
@thomasbabuj 不,我没有发现任何有用的东西。但能够使用 WebRTC 添加相同的功能
-
哇,太好了。你能分享一些参考 URL 相关的 WebRTC 和 MediaProjection API
-
按照webrtc.org/native-code 上关于构建本机库的说明进行操作。然后获取示例应用 AppRtcMobile(它位于 webrtc 存储库中),您可以在其中看到 MediaProjection API 与 WebRTC 的关系。与此相关的类是 ScreenCapturerAndroid。
-
谢谢你,这是很大的帮助。
标签: android android-mediaprojection