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

时间:2020-06-12 07:01:19

标签: unity3d agora.io

我试图通过屏幕共享从Unity构建的应用程序显示到网站上。

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

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

有没有办法在Unity中获得BGR?或Agora具有RGB支持? 我在发送agora之前尝试过将byte []反转,但是性能非常糟糕。.最好为1 fps。

1 个答案:

答案 0 :(得分:1)

统一使用Texture2D.ReadPixels仅支持RGB。

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