如何解决StartScreenCapturebyWindowId不排除某些程序的重叠窗口Agora Unity
我正在尝试为Unity for Windows中的项目设置单个窗口共享。我目前正在使用的方法是使用EnumWindows()
,IsVisableWindow()
和GetWindowText()
创建一个包含窗口标题和句柄的字典,然后调用StartScreeCapturebyWindowId()
进行共享选定的窗口。
这在大多数过程中效果都很好;流程窗口,并且仅流式处理窗口。但是,对于某些程序(例如Google Chrome,Discord和Windows Photos),可以正确设置捕获区域,但是不会清除重叠的窗口。
有人知道什么可能导致此问题吗?我抓住这些窗户的把手的方式有问题吗?还是有一些我想念的屏幕截图?
解决方法
您当然做对了。但是,您还遇到了SDK的Windows部分的限制。为了更好地理解这一点,该程序集是UWP应用程序。它们有不同的方式共享可见像素。 Agora SDK的早期版本甚至无法显示该窗口。从3.0.1开始,SDK使用矩形切割方法来获取窗口显示。您可以进一步阅读有关该API here的在线文档。
Agora在短期内无能为力。因此,您只需要处理用户体验(例如,通过警告他们)或查看诸如使用Web SDK的解决方案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。