我为我的应用程序做了屏幕共享(tokbox)。 它在我的应用程序中运行良好。 但是我无法在应用程序外共享屏幕... 任何人都可以帮忙吗? https://tokbox.com/developer/guides/screen-sharing/android/
答案 0 :(得分:1)
我也遇到了同样的问题,并邮寄给了tokbox支持。 这是他们的回应:
我们的屏幕捕获代码的工作方式是它递归遍历视图层次结构并将这些图像复制到缓冲区,然后将该缓冲区发送到webrtc数据管道上。因此,一旦将应用程序推送到后台,我们就无法遍历视图层次结构并复制图像,因此屏幕共享才能生效,直到我们进入应用程序(Android或iOS本机应用程序)为止。如果您只想共享Opentok应用程序的屏幕视图,它将可以使用,但在该应用程序之外将无法使用。只是为了照顾移动应用程序用户的隐私和安全方面。
因此,根据它们,您无法在应用程序外共享屏幕。只有在应用程序处于前台时,它才起作用。
在不断询问tokbox支持团队之后,我从他们那里得到了以下答复:
可以在Android和iOS上在应用程序外部共享内容。 对于Android,您需要将Media Projection API与Vonage/Tokbox Custom Capturer一起使用。 对于iOS,您需要将iOS ReplayKit与Vonage/Tokbox Custom Capturer一起使用。 基本上,实现是从Media Project API或Replaykit获取框架,然后通过自定义捕获器将其传递。
在他们的回应之后,我发现了Accelerator Core Android回购,它显示了如何将Media Projection API与tokbox集成。 更具体地说,这两个文件:ScreenSharingFragment.java和ScreenSharingCapturer.java
使用这两个文件,我现在可以在应用程序外部共享屏幕。
注意: 面向Android 9(API级别28)或更高版本的应用应使用Foreground services,否则由于安全原因您的应用将崩溃。
答案 1 :(得分:0)
根据Tokbox,我们无法在应用程序外部共享屏幕。
答案 2 :(得分:0)
视频API小组的Manik在这里。
要在Android平台上与应用程序外部共享内容,您需要使用Media Projection API。与Media Projection API结合使用时,您需要使用Custom Capturer。
我们正在研究一个示例应用程序,它将允许您完成此操作-请继续关注!