在视频通话中,模拟器显示黑屏

问题描述

我正在测试一个简单的webrtc应用程序,为此,我使用浏览器进行了视频通话。我已经安装了运行Android R(10.0+)的模拟器,该模拟器以4 GB的RAM和6 GB的硬盘空间来模拟Pixel 3。我使用模拟器和桌面之间的应用程序拨打了电话,两个设备上都使用了chrome,两个屏幕上的参与者的视频都出现了黑屏。我使用了参数__init__.pydocument.getElementsByTagName('video').readyState,对于readystate,值为0或没有数据,对于networkState,值为2或正在加载。我尝试使用其他模拟器(带有Android Q的Pixel)尝试相同的设置,并检查了相同的参数,但没有任何问题。我可以从两个参与者那里看到视频。有人可以帮我吗?

解决方法

编辑:其实我只是想通了。如果您从https://chromium.googlesource.com/external/webrtc/+/HEAD/sdk/android/src/java/org/webrtc/MediaCodecUtils.java#33中删除“ OMX.google”,并进行自定义的webtc构建,则应允许在API 28及以下仿真器中播放。我正在努力争取将其29岁或以上的产品。

由于默认情况下,Android的webrtc不会启用h264硬件编码/解码,因此Android模拟器将显示带有h264视频的黑屏。您将需要使用物理设备或构建webrtc来使用h264软件编码/解码。 AFAIK this是执行此操作的最佳指南。您需要将其翻译成中文。请记住,这种怪癖还会使视频在没有适当硬件(通常是Qualcomm或Exynos芯片组)的设备上显示为空白

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...