如何使getUserMedia()方法适用于WinForms应用程序内的Chromium Web浏览器?

时间:2016-07-28 08:25:46

标签: winforms webrtc chromium getusermedia cefsharp

我正在尝试使用Chromium webbrowser控件从我的WinForms应用程序访问我的网络摄像头,为此我将我的HTML文件(如下所示)安装到服务器(在我的机器上)然后我尝试导航到它来自我的应用程序,但执行了错误回调的getUserMedia()方法显示“Permission Denied Error”,另一方面,如果我尝试直接从chrome导航到它,它工作正常。那么,有没有人能知道导致这个错误的原因是什么?

// client.js file

(function () {
    window.onerror = function (errorMsg, url, lineNumber) {
        alert(errorMsg, ',URL: ' + url + ' ,Line: ' + lineNumber);        
        return true;
    }
    })();

function hasUserMedia() {
    //check if the browser supports the WebRTC 
    return !!(navigator.getUserMedia || navigator.webkitGetUserMedia ||
       navigator.mozGetUserMedia);

}

if (hasUserMedia()) {
    navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia
       || navigator.mozGetUserMedia;
    
    //enabling video and audio channels 
    navigator.getUserMedia({ video: true, audio: true }, function (stream) {
        var video = document.querySelector('video');

        //inserting our stream to the video tag     
        video.src = window.URL.createObjectURL(stream);
    }, function (err) { alert(err.name + " : " + err.message  ); });
} else {
    alert("WebRTC is not supported");
}
<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <video autoplay></video>
    <script src="client.js"></script>
</body>
</html>

0 个答案:

没有答案