该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
=$data;?>正在直播
在线人员
//html5新特性
var chai1=document.getElementById('cutpic');
//转换成2d的样式
var chai2=chai1.getContext('2d');
var video=document.getElementById('v');
navigator.getUserMedia=navigator.getUserMedia || navigator.msGetUserMedia || navigator.mozGetUserMedia || navigator.webkitGetUserMedia;
navigator.getUserMedia({video:true,audio:true},function (stream){
video.src=window.URL.createObjectURL(stream);
video.play();
},console.log);
var ws=new WebSocket('ws://39.106.30.235:2345');
ws.onopen=function(){
draw();
};
ws.onmessage=function(d){
if (/^text>>/.test(d.data)){
$("#showmsg").append(d.data.replace(/^text>>/,''+"
"));
}
if(/^userlist>>/.test(d.data)){
var list = d.data.replace(/^userlist>>/,'').split(',');
var userinfo = '';
for (i = 0; i < list.length; i++) {
userinfo += "" + list[i] + "
";
}
$("#usernum").html(" "+list.length+"
");
$("#userlist").html(userinfo);
}
if(/^image>>/.test(d.data)){
$("#showmsg").append("");
}
};
function draw(){
if(video.src){
chai2.drawImage(video,0,0,chai1.width,chai1.height);
}
ws.send('{"type":"video","content":"'+chai1.toDataURL("image/jpeg",0.1)+'"}');
setTimeout(draw,100);
}
$(document).on("click","#exit",function(){
var user = $("#user").val();
$.ajax({ url: "index.php?r=zone/exit&user="+user, success: function(msg){
windows.go(-1);
}});
});
本文介绍了一个使用HTML5特性和WebSocket实现实时视频传输的应用案例。通过获取用户的摄像头和麦克风输入,将其转换为视频流并发送到服务器。同时,还实现了接收服务器返回的消息和更新在线用户列表的功能。
7825

被折叠的 条评论
为什么被折叠?



