【m】两页面合并
This commit is contained in:
@@ -321,6 +321,28 @@ class CallStateManager {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 早期连接WebSocket信令(在connect视图调用)
|
||||
* 仅建立WebSocket连接,不创建/加入房间
|
||||
* @async
|
||||
* @returns {Promise<WebSocketSignaling|Signaling>} 信令实例
|
||||
*/
|
||||
async connectSignaling() {
|
||||
// 先获取配置
|
||||
await this.setupConfig();
|
||||
|
||||
if (this._signaling) {
|
||||
console.log('Signaling already connected, reusing existing instance');
|
||||
return this._signaling;
|
||||
}
|
||||
|
||||
// 创建信令实例
|
||||
this._signaling = this.useWebSocket ? new WebSocketSignaling() : new Signaling();
|
||||
await this._signaling.start();
|
||||
console.log('Signaling connected (WebSocket only, no room yet)');
|
||||
return this._signaling;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建信令和RTC实例
|
||||
* @async
|
||||
@@ -349,10 +371,11 @@ class CallStateManager {
|
||||
});
|
||||
}
|
||||
|
||||
// 创建信令实例
|
||||
const signaling = this.useWebSocket ? new WebSocketSignaling() : new Signaling();
|
||||
// 复用已有信令实例(connectSignaling()已建立WebSocket),或创建新实例
|
||||
const signaling = this._signaling || (this.useWebSocket ? new WebSocketSignaling() : new Signaling());
|
||||
const config = getRTCConfiguration(); // 获取RTC配置
|
||||
this.renderstreaming = new RenderStreaming(signaling, config);
|
||||
this._signaling = null; // RenderStreaming 已接管信令,清除引用
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user