最近做的 ionic 项目需要使用 WebRTC 提供音视频通话功能,由于各大浏览器厂商对 WebRTC 的支持不一,所以我们需要集成 crosswalk 来支持 WebRTC 解决兼容问题。
集成 crosswalk 相当于集成了一个小型的 Chromium 内核,以此来支持 WebRTC。
集成crosswalk:
cordova 已经支持 crosswalk,怎么使用 cordova 安装 crosswalk 见官方文档。
设置访问权限:
如果需要使用Cordova的设备API,则需要在AndroidManifest中设置相应的权限,例如使用getUserMedia()接口时,需要设置: <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.CAMERA" /> 更多设置请参考Android权限。
**注意事项**:
最后最重要的:
目前我的 crosswalk 版本为 2.3.0,其中 WebRTC 接口应改为:
RTCPeerConnection -> webkitRTCPeerConnection
navigator.getUserMedia() -> navigator.webkitGetUserMedia()
最后,我使用了开源框架 kurento,最后修改了 kurento-utils 源码来适应项目。