我为网络浏览器开发了一个简单的webrtc视频聊天,它在android firefox和chrome浏览器中运行良好。现在我已经开始使用Cordova创建一个android应用程序,但是getusermedia api甚至无法访问网络摄像头。在Cordova浏览器平台中使用相同的代码,即可访问网络摄像头。
当前在Android 4.4版kitkat上进行测试
。相机访问权限也被授予。我想念什么
getusermedia API代码
const mediaStreamConstraints = {
video: true,
};
// Video element where stream will be placed.
const localVideo = document.querySelector('video');
// Handles success by adding the MediaStream to the video element.
function gotLocalMediaStream(mediaStream) {
localVideo.srcObject = mediaStream;
}
// Handles error by logging a message to the console with the error message.
function handleLocalMediaStreamError(error) {
console.log('navigator.getUserMedia error: ', error);
}
// Initializes media stream.
navigator.mediaDevices.getUserMedia(mediaStreamConstraints)
.then(gotLocalMediaStream).catch(handleLocalMediaStreamError);
答案 0 :(得分:1)
Android 4.4 KitKat版本不支持WebRTC API。
在现代版本的Android中,WebView组件基于Chromium开源项目,该项目已经包含WebRTC。有关更多信息,请参见https://developer.chrome.com/multidevice/webview/overview。如所列,所有从Android 5.0开始的Android设备都支持WebView中的WebRTC API 。
以防万一,您正在为Cordova寻找现成的视频聊天解决方案-我建议尝试ConnectyCube Cordova视频聊天https://developers.connectycube.com/js/code-samples-videochat-cordova