RecordRTC问题 - 流只显示时间戳?

时间:2015-04-28 01:51:09

标签: javascript video webrtc audio-video-sync

我对整个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
}

1 个答案:

答案 0 :(得分:0)

webkit检查实际上是mido22在评论

中指出的问题