WebRTC 進階
串流中關閉與開啟視訊
let localVideoEnabled = true;
let localAudioEnabled = true;
function handleVideoDisconnect() {
localVideoEnabled = !localVideoEnabled;
localStream.getTracks()[1].enabled = localVideoEnabled;
}
function handleAudioDisconnect() {
localAudioEnabled = !localAudioEnabled;
localStream.getTracks()[0].enabled = localAudioEnabled;
}
// 如果用 track.stop() 會永久關閉可選擇關音訊或視訊。

控制斷線重連
首先斷線時發送 websocket 訊息給對方,並且關閉 peerConnection,然後清空 video srcObject。
對方接收到訊息後
init function 如下,即為初始化連線與獲取 media 等設備
Data channel 傳送訊息
建立 channel
只用建立一個 channel 即可,撥打方建立,然後 createOffer 後會把 channel 送給遠端
2. 之後監聽接收 channel
3. 發送訊息到 channel
可參考:https://webrtc.github.io/samples/src/content/datachannel/basic/js/main.js
ShareScreen
獲取畫面並重新設定 addStream 然後傳給對方
重新發起 createOffer
Node.js client for webRTC
從後端與其他 peer 連線
Last updated
Was this helpful?