🧩
框架无关
不依赖 React、Vue 等任何前端框架,可在浏览器、Electron、Node.js 等任意 JS 运行时使用。
想直接跑起来试试?
查看 可运行 Demo,一个标签页发起,另一个加入,两行命令即可体验端到端 WebRTC 音视频通话。
import { WetRTC } from '@wetspace/wetrtc'
// 1. 实现信令通道
const signal = {
send: async (msg) => ws.send(JSON.stringify(msg)),
onMessage: (handler) => {
ws.onmessage = (e) => handler(JSON.parse(e.data))
return () => { ws.onmessage = null }
}
}
// 2. 创建连接
const rtc = new WetRTC({ signal, direction: 'sendrecv' })
// 3. 监听事件
rtc.on('statechange', (state, prev) => console.log(`${prev} → ${state}`))
rtc.on('track', (ev) => videoEl.srcObject = ev.streams[0])
rtc.on('datachannel', (ch) => ch.send('Hello!'))
rtc.on('stats', (snap) => console.log('RTT:', snap.roundTripTime, 'ms'))
// 4. 发起连接
await rtc.connect()
// 5. 使用完毕后释放
rtc.dispose()