使用Agora.io在Unity3D中进行屏幕共享

问题描述 投票:-2回答:1

我正在尝试将我从Unity构建的应用程序屏幕共享到网站。

但是,我注意到agora使用externalVideoFrame.format = ExternalVideoFrame.VIDEO_PIXEL_FORMAT.VIDEO_PIXEL_BGRA;

统一,Texture2D.ReadPixels仅支持RGB。因此,当我这样做时,接收端将交换红色和蓝色。

有什么方法可以在Unity中获得BGR?或Agora具有RGB支持?我在发送agora之前尝试将byte []反转,但是性能非常差..最好为1 fps。

unity3d agora.io
1个回答
0
投票

统一,Texture2D.ReadPixels仅支持RGB。

实际上,这是不正确的。 ReadPixels读取由Texture2D对象实例化设置的格式。在the Unity scripting example中,您会看到“ TextureFormat.RGB24”。相反,您应该使用TextureFormat.BGRA32,它将与Agora API的要求匹配。

© www.soinside.com 2019 - 2024. All rights reserved.