Skip to content

WetRTC框架无关的 WebRTC 连接库

简洁、模块化、类型安全的 WebRTC 抽象层

想直接跑起来试试?

查看 可运行 Demo,一个标签页发起,另一个加入,两行命令即可体验端到端 WebRTC 音视频通话。

适合做什么产品?

查看 产品场景了解 WetRTC 与 SFU / 商用 RTC 的选型边界;基于本库打造的 WET 扩展屏 是虚拟副屏场景的参考产品。

快速预览

ts
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()

Released under the MIT License.