android 支持webrtc

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/foolish0421/article/details/84105721

公司有个项目,需要在webview中加载视频,用到了webrtc技术。Android 4.4以后,浏览器内核采用的chromium,可以支持webrtc。所以基本上对于新出的手机,自动支持webrtc。使用webview时,只需要在代码中实现WebChromeClient的onPermissionRequest方法即可。只是为了针对特定网页申请的权限给予授权或者拒绝。代码如下:

webView.setWebChromeClient(new WebChromeClient() {

            @Override
            public void onPermissionRequest(final PermissionRequest request) {
                Log.d("MainActivity", "onPermissionRequest");
                MainActivity.this.runOnUiThread(new Runnable() {
                    @TargetApi(Build.VERSION_CODES.LOLLIPOP)
                    @Override
                    public void run() {
                        if(request.getOrigin().toString().equals("https://janus.conf.meetecho.com/streamingtest.html")) {
                            request.grant(request.getResources());
                        } else {
                            request.deny();
                        }
                    }
                });
            }

        });

而对于4.4以前的系统,默认的浏览器内核是webkit,对webrtc支持不好。有些手机厂商又喜欢修改rom,如果对chromium内核做了修改,也可能造成webrtc不能正常运行。这时候,可以在应用中集成第三方的浏览器内核,常见的有腾讯的X5,intel的CrossWalk。他们官网都有相应的文档和demo,这里就不赘述了。

猜你喜欢

转载自blog.csdn.net/foolish0421/article/details/84105721