我正在尝试Kurento 一对多视频通话示例(this one),其中Raspberry Pi使用uv4l将流发送到KMS。我正在尝试使用WebView在Android应用上查看流。我使用自定义WebViewClient来避免SSL证书错误。但是,当启用硬件加速时,将显示绿色矩形而不是视频,并且当禁用加速时,将显示旋转轮。但是,正确接收了音频。
Logcat显示以下消息:
[警告:webrtcsession.cc(1719)]候选人有未知成分:Cand [1:2:udp:2013266430:IP:PORT:local :: 0 ::]内容:音频
[警告:srtpfilter.cc(585)]无法取消保护SRTP数据包,错误= 9
[错误:channel.cc(666)]无法取消保护视频RTP数据包: size = 1133,seqnum = 23250,SSRC = 1884862060
我用于WebView的代码如下。
WebView displayWebView = (WebView) rootView.findViewById(R.id.displayWebView);
WebSettings webSettings = displayWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
displayWebView.setWebViewClient(new CustomWebViewClient());
displayWebView.loadUrl("https://IP:PORT/");
CustomWebViewClient的代码如下。
private class CustomWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
Log.d(TAG, "Ignoring SSL certificate error...");
handler.proceed();
}
}
我在运行Lollipop的手机上测试了应用程序。我想这是与WebView相关的东西。有什么帮助吗?
答案 0 :(得分:0)
官方支持的使用WebRTC的方式是使用WebRTC-capable browsers(即Chrome,Firefox和Opera以及Android浏览器)。 WebView确实支持WebRTC(虽然not everything),但是如何让WebRTC在WebView中工作是WebView用户可以更好地解决的问题。
另一方面,正在进行some research it seems like Crosswalk is a better option,因为它嵌入了功能齐全的Chrome浏览器。