我对整个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
}
答案 0 :(得分:0)
webkit检查实际上是mido22在评论
中指出的问题