socket.io 传递对象
发布于 8 年前 作者 dinosaur 4645 次浏览 最后一次编辑是 5 年前

这段代码能调用摄像头 显示在video1上,下面是客户端代码:

var hosline=io.connect(null);
function startVideo(){

    var video = document.getElementById("video1"),
    videoObj = {"video" : true },
   
    if (navigator.webkitGetUserMedia) { // WebKit-prefixed 
        navigator.webkitGetUserMedia(videoObj, function (stream) {
            var src = window.webkitURL.createObjectURL(stream);
            video.src = src;
            video.play();
        hosline.emit('priveateMessage', stream,toWho);//toWho 是 socket.id
     });

我想把这个 stream 对象(typeof(stream)为 MediaStream )经服务端转发给另一个客户端,下面是服务段代码:

clisocket.on('priveateMessage',function(stream,toWho){
    UserLists[towho].emit('priveateMessage',stream, clisocket.id});
 });

另一个客户端接收到这个 stream 然后应该就可以视频对话了,但是另一个客户端接收到的 stream(typeof(stream) 是 object)报错。下面是客户端的代码:

hosline.on('priveateMessage',function(stream,fromid){
    var src = window.webkitURL.createObjectURL(stream);//这行报一个 类型错误。
    var video = document.getElementById('video2');
    video.src = src;
    video.play();
}

哪位大侠能帮忙解决下呀,在这先谢谢谢谢谢了!!!

回到顶部