【m】两页面合并

This commit is contained in:
2026-05-16 21:26:19 +08:00
parent d7264b9102
commit 71efb34795
5 changed files with 597 additions and 147 deletions

View File

@@ -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 已接管信令,清除引用
}
/**