未使用Licode Demos在Webview中呈现视频,仅显示视频图标

时间:2018-12-26 20:04:33

标签: android ssl webview video-streaming webrtc

我尝试在android webview中播放视频,但是无法播放视频。在网络视图中,仅显示视频图标。 我正在尝试不同的选项,我曾尝试在播放的webview视频中使用apprtc。但是当我在webview视频中使用licode演示时,并没有在webview中呈现。

在不绕过ssl认证的情况下,它会显示白屏。 我已绕过ssl认证。它会在屏幕上显示视频图标。但是问题仍然在于,无法在网络视图中播放该视频。 我已经在oreo版和棒棒糖版上对此进行了测试。

WebView webView;

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);
    webView = findViewById(R.id.webview);
    String url = "https://vid-stream.zemcar.com/room?id=5bcee60ac0072478e0bfa4c6";
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setAppCacheEnabled(true);
    webView.getSettings().setDatabaseEnabled(true);
    webView.getSettings().setDomStorageEnabled(true);
    webView.setWebViewClient(new WebViewClient() {

        @Override
        public void onReceivedSslError(WebView view, final SslErrorHandler handler, SslError error) {
            String message = "SSL Certificate error.";
            switch (error.getPrimaryError()) {
                case SslError.SSL_UNTRUSTED:
                    message = "The certificate authority is not trusted.";
                    break;
                case SslError.SSL_EXPIRED:
                    message = "The certificate has expired.";
                    break;
                case SslError.SSL_IDMISMATCH:
                    message = "The certificate Hostname mismatch.";
                    break;
                case SslError.SSL_NOTYETVALID:
                    message = "The certificate is not yet valid.";
                    break;
            }
            message += "\"SSL Certificate Error\" Do you want to continue anyway?.. YES";

            handler.proceed();
        }
    });
        webView.loadUrl(url);
        webView.setWebChromeClient(new WebChromeClient() {
        @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
        @Override
        public void onPermissionRequest(final PermissionRequest request) {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                request.grant(request.getResources());
                  } else {
                    request.grant(request.getResources());
                    Log.e("Error", request.toString());
                   }
                 }
              }
          ); 
    }
}

0 个答案:

没有答案