1

我正在尝试 Kurento一对多视频通话示例(这个),其中 Raspberry Pi 使用 uv4l 将流发送到 KMS。我正在尝试使用 WebView 在 Android 应用程序上查看流。我使用自定义 WebViewClient 来避免 SSL 证书错误。但是,启用硬件加速时,会显示一个绿色矩形而不是视频,禁用加速时,会显示一个旋转的轮子。但是,音频被正确接收。

Logcat 显示以下消息:

[警告:webrtcsession.cc(1719)] 候选人有未知组件:Cand[1:2:udp:2013266430:IP:PORT:local::0::] 内容:音频

[WARNING:srtpfilter.cc(585)] 未能取消保护 SRTP 数据包,err=9

[ERROR: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 有关。有什么帮助吗?

4

1 回答 1

0

官方支持的使用 WebRTC 的方式是使用支持WebRTC 的浏览器(即 Chrome、Firefox 和 Opera,以及 Android 浏览器)。WebView 确实支持 WebRTC(虽然不是全部),但是如何让 WebRTC 在 WebView 中工作是 WebView 用户会更好地回答的问题。

另一方面,做一些研究,Crosswalk 似乎是一个更好的选择,因为它嵌入了一个功能齐全的 Chrome 浏览器。

于 2016-01-29T17:16:33.917 回答