我正在测试一个简单的webrtc应用程序,为此,我使用浏览器进行了视频通话。我已经安装了运行Android R(10.0+)的模拟器,该模拟器以4 GB的RAM和6 GB的硬盘空间来模拟Pixel 3。我使用模拟器和桌面之间的应用程序拨打了电话,两个设备上都使用了chrome,两个屏幕上的参与者的视频都出现了黑屏。我使用了参数__init__.py
和document.getElementsByTagName('video').readyState
,对于readystate,值为0或没有数据,对于networkState,值为2或正在加载。我尝试使用其他模拟器(带有Android Q的Pixel)尝试相同的设置,并检查了相同的参数,但没有任何问题。我可以从两个参与者那里看到视频。有人可以帮我吗?
答案 0 :(得分:0)
编辑:其实我只是想通了。如果您从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芯片组)的设备上显示为空白