0

我对整个 WebRTC 事情还很陌生,而且我一直在阅读大量文章以及有关如何处理视频录制的不同 API。似乎我读得越多,整个事情就越混乱。我知道我可以使用 Nimbb 之类的解决方案,但可以这么说,我宁愿将所有东西都保留在“内部”。我现在获得代码的方式,页面加载和用户单击按钮来确定输入类型(文本或视频)。单击视频按钮时,网络摄像头会初始化并打开以进行录制。但是,来自网络摄像头的流不会显示在页面本身中。这似乎是因为视频的 src 实际上是一个对象。奇怪的是,当我尝试通过登录到控制台来获取有关对象的更多信息时,我只得到一个名为 currentTime 的对象属性。该对象如何为视频元素创建实际来源?我已经尝试了下面代码的许多不同变体,但都无济于事,所以我只是想知道我做错了什么。

var playerId = 'cam-'+t+'-'+click[1]+'-'+click[2];

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;

if(navigator.getUserMedia){
    function onSuccess(stream){
        var video = document.getElementById(playerId);
        var vidSource;

        if(window.webkitURL || window.URL){
            vidSource = (window.webkitURL) ? window.webkitURL.createObjectURL(stream) : window.URL.createObjectURL(stream);
        }else{
            vidSource = stream;
        }

        video.autoplay = true;
        video.src = vidSource;
    }

    function onError(e){
        console.error('Error: ', e);
    }

    navigator.getUserMedia({video: true, audio: true}, onSuccess, onError);
}else{
    //flash alternative
}
4

1 回答 1

0

正如 mido22 在评论中指出的那样,webkit 检查实际上是问题

于 2015-04-28T03:57:23.460 回答