WebRTC 是一项让浏览器支持实时通信的技术,通过它可以在浏览器中直接进行音视频通话、文件传输等操作而不需要借助 Flash、Java 等插件。而 wild-peerconnection 则是一个基于 WebRTC 的 NPM 包,可以在不需要信令服务器的情况下建立点对点(P2P)连接,可以用于开发基于浏览器的音视频应用,这里我们来仔细了解一下 wild-peerconnection 的使用教程。
安装
作为一个 NPM 包,我们自然是需要从 NPM 上进行安装:
npm install wild-peerconnection
这个包依赖于 socket.io-client
与 simple-peer
,所以在安装的过程中这两个包也会自动安装。
建立连接
使用 wild-peerconnection 只需要进行几个简单的步骤即可建立 P2P 连接:
创建自己的 peer 对象,通过
wildPeer()
来完成:const WildPeer = require('wild-peerconnection').default; const peer = new WildPeer();
通过
on()
监听connection
事件来获取客户端的链接 ID:peer.on('connection', (clientId) => { console.log('new connection:', clientId); });
使用
call()
方法发起呼叫:const calleeId = 'xxxxxx'; // 被叫方的链接 ID const stream = navigator.mediaDevices.getUserMedia({audio: true, video: true}); peer.call(calleeId, stream);
通过
on('stream')
监听流事件,接收对方发来的视频流:peer.on('stream', (stream) => { video.srcObject = stream; video.play(); });
示例
下面是一个完整的示例,将视频呼叫请求发送到另一个客户端:
-- -------------------- ---- ------- --------- ----- ------ ------ ----- --------------- -- --------------- ---- ---- ------------------ ------- ------ ------ ---------------- ----------------- ------- --------------------------------------- ------- ------------------------- -------- ----- -------- - --------------------------------------- ----- -- - ---------------------------- ----- ---- - --- ---------- -- --- ----- -------- ------ - ----- ------ - ----- ------------------------------------- ------ ----- ------ ---- --- ----- ---- --------- - ----- --------------- --------------------- -------- -- - --------------------- ---- ---- ----------------- --------------------- -------- --- ----- --- - --------------------------------- --------------- - ----- ------------ - ----- ------------------------------- ----- ----- - -------------------------------- --------------------------------- ------------------------------- -- -- - ------------ - ------------- --- ----------------------------- -- -- - ----- -------- - ------------ -------------------- ----------------- ------------------- -------- --- ----------------- ------ -- - ----- ----- - --------------------------------------- --------------- - ------- ------------- --- - ------- --------- ------- -------
小结
wild-peerconnection 是一个不需要信令服务器的 WebRTC 应用开发库,可以大大简化应用开发的流程,本文通过介绍它的安装与使用方法,详细地介绍了如何建立点对点连接,以及如何使用它进行通话、视频等实时通信。同时,也提供了一个基本的示例代码,希望有帮助!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6006710e8dd3466f61ffe1e7