- 50
- 0
直接上代码吧,第一次写这个东西,我已经被绕晕了。
需求很简单,就是一个类似直播的需求。连接人数为1时,播放本地视频;>1时播放socket推送过来的视频。
// 客户端
// 第一次连接 node 启动的socket会返回一个连接人数
// 用连接人数来判断是展示自己的 video 还是远程的 video 信息
ws.addEventListener('message', function (msg) {
users = msg.data
if (users <= 1) {
//
navigator.mediaDevices.getUserMedia({
video: {width: 400, height: 300},
audio: false
})
.then(function (stream) {
v.src = window.URL.createObjectURL(stream);
})
.catch(function (err) {
console.log(err.name + ": " + err.message);
});
pc.createOffer({offerToReceiveAudio: 1}).then(function (e) {
// pc1 setLocalDescription
pc.setLocalDescription(e).then(
function () {
// 将本地信息通过socket传送给后台
ws.send(JSON.stringify({
type: 'set_media_stream',
payload: e
}))
},
function () {
console.log('pc1 setLocalDescription error')
}
)
});
} else {
// 当前连接人数 > 1
ws.send(JSON.stringify({
type: 'send_me_media',
payload: ''
}));
pc.setRemoteDescription(JSON.parse(msg.data)).then(
function (res) {
console.log(res, 'pc setRemoteDescription success')
},
function (err) {
console.log(err + 'pc setRemoteDescription error')
}
);
// 应答
// 从这里往后就不会写了
pc.createAnswer().then(
function () {
pc2.setLocalDescription(e).then(
function () {
console.log('pc2 setLocalDescription success')
},
function () {
console.log('pc2 setLocalDescription error')
}
);
pc1.setRemoteDescription(e).then(
function () {
console.log('pc1 setRemoteDescription success')
},
function () {
console.log('pc1 setRemoteDescription error')
}
);
},
function () {
console.log('pc2 createAnswer error')
}
);
}
})
第一次写这种功能,脑子里面一点思路都没有,只是参考了这篇文章http://blog.csdn.net/xyblog/a...
希望有做过经验的大佬帮我整理整理。
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
