Skip to content

Commit

Permalink
v0.1.3
Browse files Browse the repository at this point in the history
Add more output
  • Loading branch information
LingyuCoder committed Mar 17, 2014
1 parent debd6a8 commit 3d6747d
Show file tree
Hide file tree
Showing 4 changed files with 790 additions and 675 deletions.
89 changes: 48 additions & 41 deletions index.html
Expand Up @@ -92,121 +92,128 @@
var msgs = document.getElementById("msgs");
var sendFileBtn = document.getElementById("sendFileBtn");
var files = document.getElementById("files");

var rtc = SkyRTC();

/**********************************************************/
sendBtn.onclick = function(event){
var msgIpt = document.getElementById("msgIpt"),
msg = msgIpt.value,
p = document.createElement("p");
p.innerText = "me: " + msg;
SkyRTC.broadcast(msg);
//广播消息
rtc.broadcast(msg);
msgIpt.value = "";
msgs.appendChild(p);
};

sendFileBtn.onclick = function(event){
SkyRTC.shareFile("fileIpt");
//分享文件
rtc.shareFile("fileIpt");
};
/**********************************************************/

SkyRTC.on("send_file_accepted", function(sendId, socketId, file){


//对方同意接收文件
rtc.on("send_file_accepted", function(sendId, socketId, file){
var p = document.getElementById("sf-" + sendId);
p.innerText = "对方接收" + file.name + "文件,等待发送";

});

SkyRTC.on("send_file_refused", function(sendId, socketId, file){
//对方拒绝接收文件
rtc.on("send_file_refused", function(sendId, socketId, file){
var p = document.getElementById("sf-" + sendId);
p.innerText = "对方拒绝接收" + file.name + "文件";
});

SkyRTC.on('send_file', function(sendId, socketId, file){
//请求发送文件
rtc.on('send_file', function(sendId, socketId, file){
var p = document.createElement("p");
p.innerText = "请求发送" + file.name + "文件";
p.id = "sf-" + sendId;
files.appendChild(p);
});

SkyRTC.on('sended_file', function(sendId, socketId, file){
//文件发送成功
rtc.on('sended_file', function(sendId, socketId, file){
var p = document.getElementById("sf-" + sendId);
p.parentNode.removeChild(p);
});

SkyRTC.on('send_file_chunk', function(sendId, socketId, percent, file){
//发送文件碎片
rtc.on('send_file_chunk', function(sendId, socketId, percent, file){
var p = document.getElementById("sf-" + sendId);
p.innerText = file.name + "文件正在发送: " + Math.ceil(percent) + "%";
});

SkyRTC.on('receive_file_chunk', function(sendId, socketId, fileName, percent){
//接受文件碎片
rtc.on('receive_file_chunk', function(sendId, socketId, fileName, percent){
var p = document.getElementById("rf-" + sendId);
p.innerText = "正在接收" + fileName + "文件:" + Math.ceil(percent) + "%";
});
SkyRTC.on('receive_file', function(sendId, socketId, name){
//接收到文件
rtc.on('receive_file', function(sendId, socketId, name){
var p = document.getElementById("rf-" + sendId);
p.parentNode.removeChild(p);
});

SkyRTC.on('send_file_error', function(error){
//发送文件时出现错误
rtc.on('send_file_error', function(error){
console.log(error);
});

SkyRTC.on('receive_file_error', function(error){
//接收文件时出现错误
rtc.on('receive_file_error', function(error){
console.log(error);
});

SkyRTC.on('receive_file_ask', function(sendId, socketId, fileName, fileSize){
//接受到文件发送请求
rtc.on('receive_file_ask', function(sendId, socketId, fileName, fileSize){
var p;
if (window.confirm(socketId + "用户想要给你传送" + fileName + "文件,大小" + fileSize + "KB,是否接受?")) {
SkyRTC.sendFileAccept(sendId);
rtc.sendFileAccept(sendId);
p = document.createElement("p");
p.innerText = "准备接收" + fileName + "文件";
p.id = "rf-" + sendId;
files.appendChild(p);
} else {
SkyRTC.sendFileRefuse(sendId);
rtc.sendFileRefuse(sendId);
}
});

SkyRTC.on("connected", function() {
SkyRTC.createStream({
//成功创建WebSocket连接
rtc.on("connected", function(socket) {
//创建本地视频流
rtc.createStream({
"video": true,
"audio": true
});
});

SkyRTC.on("stream_created", function(stream) {
//创建本地视频流成功
rtc.on("stream_created", function(stream) {
document.getElementById('me').src = URL.createObjectURL(stream);
document.getElementById('me').play();
});

SkyRTC.on("stream_create_error", function() {
//创建本地视频流失败
rtc.on("stream_create_error", function() {
alert("create stream failed!");
});

SkyRTC.on('pc_add_stream', function(stream, socketId) {
//接收到其他用户的视频流
rtc.on('pc_add_stream', function(stream, socketId) {
var newVideo = document.createElement("video"),
id = "other-" + socketId;
newVideo.setAttribute("class", "other");
newVideo.setAttribute("autoplay", "autoplay");
newVideo.setAttribute("id", id);
videos.appendChild(newVideo);
SkyRTC.attachStream(stream, id);
rtc.attachStream(stream, id);
});

SkyRTC.on('remove_peer', function(socketId) {
//删除其他用户
rtc.on('remove_peer', function(socketId) {
var video = document.getElementById('other-' + socketId);
if(video){
video.parentNode.removeChild(video);
}
});

SkyRTC.on('data_channel_message', function(channel, socketId, message){
var pNode = document.createElement("p");
//接收到文字信息
rtc.on('data_channel_message', function(channel, socketId, message){
var p = document.createElement("p");
p.innerText = socketId + ": " + message;
msgs.appendChild(pNode);
msgs.appendChild(p);
});

SkyRTC.connect("ws:" + window.location.href.substring(window.location.protocol.length).split('#')[0], window.location.hash.slice(1));
//连接WebSocket服务器
rtc.connect("ws:" + window.location.href.substring(window.location.protocol.length).split('#')[0], window.location.hash.slice(1));
</script>
</html>
3 changes: 2 additions & 1 deletion package.json
Expand Up @@ -6,5 +6,6 @@
"node-uuid": ">= 1.4.1",
"express": "3.1.0",
"skyrtc": ">= 0.0.0"
}
},
"readmeFilename": "README.md"
}

0 comments on commit 3d6747d

Please sign in to comment.