用内存的内容替换 index.html中的内容:
代码语言:javascript复制<!DOCTYPE html>
<html>
<head>
<title>Realtime communication with WebRTC</title>
<link rel="stylesheet" href="/css/main.css" />
</head>
<body>
<h1>Realtime communication with WebRTC</h1>
<div id="videos">
<video id="localVideo" autoplay muted></video>
<video id="remoteVideo" autoplay></video>
</div>
<script src="/socket.io/socket.io.js"></script>
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
<script src="js/main.js"></script>
</body>
</html>
用 step-05/js/main.js替换 js/main.js。
运行 Node.js 服务
如果您没有从工作目录中关注此codelab,则可能需要安装step-05文件夹或当前工作文件夹的依赖项。从你的工作目录中运行下面的命令:
代码语言:javascript复制npm install
一旦安装了,如果你的Node.js服务没有运行,调用下面的命令在你的工作目录下启动它:
代码语言:javascript复制node index.js
确保你正在使用的是上一步Socket.IO实现的 index.js版本。对于更多的关于Node和Socket.IO的信息,查看一下“建立信令服务去交换消息”一节。
在你的浏览器上输入 localhost:8080。
在窗中的新 tab中再次输入localhost:8080。一个视频元素将显示从getUserMedia()获取的本地流,而另一个将通地 RTCPeerConnection显示'远端'视频流。
你需要重起你的 Node.js 服务,在每次你关闭tab或窗口时。
在浏览器console中查看日志。
点滴
- 该应用仅支持1对1的视频聊天,你可以改变这个设计使更多的人共享同一个视频吗?
- 这个例子有一个房间名为
foo
的硬编码,有更好的方法开启另一个房间名吗? - 用户间如何共享房间名?尝试建立一个共享房间名称的替代方案。
- 如何改变应用?
你学到什么
在该步骤中你学会了如何:
- 使用在Node.js上的 Socket.IO运行 WebRTC信令服务。
- 使用该服务在用户间交换WebRTC 元数据。
本步骤的完整例子在step-05目录下。
提示
- WebRTC 将态和调试数据可以在chrome://webrtc-internals查看。
- test.webrtc.org可用于查测你的本地环境和测试你的camera及microphone。
- 如果您遇到奇怪的缓存问题,请尝试以下方法:
- 按住ctrl并单击“重新加载”按钮进行硬刷新
- 重启浏览器
- 在命令行运行npm cache clean
下一步
了解如何拍摄照片,获取图像数据以及在远程同伴之间共享照片。