android 支持webrtc
16lz
2021-01-24
公司有个项目,需要在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,这里就不赘述了。
更多相关文章
- Android(安卓)基于Retrofit+Rxjava搭建的简单易用的网络架构
- Android(安卓)8.1 关机充电动画(二)Uboot模式
- [置顶] Lua 学习教程之android与lua相互调用(二)
- Space+onTouchEvent=Hitarea:像Flash那样在Android中扩大点击区域
- android 自定义View开发实战(四) 圆角矩形ImageView实现
- android listView滚动时隔行出现黑色分割线
- 全面了解Android热修复技术
- Flutter(三):实现Flutter代码调用Android原生代码(创建WebView Plu
- Android(安卓)配置PhoneGap开发环境