From 4bdb2395a2229b55cdbcbf357c0d84fe60aee59a Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Mon, 3 Jul 2023 08:17:15 +0800 Subject: [PATCH] =?UTF-8?q?[*]=20=E6=97=A5=E5=B8=B8=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- taoyao-client-media/src/Taoyao.js | 22 ++++++++++--------- taoyao-client-web/src/components/Taoyao.js | 14 +++++++++++- .../MediaRouterRtpCapabilitiesProtocol.java | 2 +- .../media/MediaSetRouterTypeProtocol.java | 12 ++++++++++ 4 files changed, 38 insertions(+), 12 deletions(-) diff --git a/taoyao-client-media/src/Taoyao.js b/taoyao-client-media/src/Taoyao.js index 9b1438b..25bdc30 100644 --- a/taoyao-client-media/src/Taoyao.js +++ b/taoyao-client-media/src/Taoyao.js @@ -1454,18 +1454,17 @@ class Taoyao { } } - // TODO:continue - /** * 路由RTP协商信令 * * @param {*} message 消息 - * @param {*} body 消息主体 + * @param {*} body 消息主体 */ mediaRouterRtpCapabilities(message, body) { + const me = this; const { roomId } = body; - const room = this.rooms.get(roomId); - message.body.rtpCapabilities = room.mediasoupRouter.rtpCapabilities; + const room = me.rooms.get(roomId); + message.body.rtpCapabilities = room?.mediasoupRouter.rtpCapabilities; this.push(message); } @@ -1473,20 +1472,23 @@ class Taoyao { * 关闭传输通道信令 * * @param {*} message 消息 - * @param {*} body 消息主体 + * @param {*} body 消息主体 */ async mediaTransportClose(message, body) { + const me = this; const { roomId, transportId } = body; - const room = this.rooms.get(roomId); + const room = me.rooms.get(roomId); const transport = room?.transports.get(transportId); if(transport) { - console.info("关闭传输通道:", transportId); - transport.close(); + console.info("关闭传输通道", transportId); + await transport.close(); } else { - console.info("关闭传输通道无效:", transportId); + console.debug("关闭传输通道(无效)", transportId); } } + // TODO:continue + /** * 创建RTP输入通道信令 * diff --git a/taoyao-client-web/src/components/Taoyao.js b/taoyao-client-web/src/components/Taoyao.js index cdcce6d..6ea89f5 100644 --- a/taoyao-client-web/src/components/Taoyao.js +++ b/taoyao-client-web/src/components/Taoyao.js @@ -1781,10 +1781,22 @@ class Taoyao extends RemoteClient { ); return response.body; } + async roomClientListId(clientId) { + const me = this; + const response = await this.request( + protocol.buildMessage("room::client::list::id", { + roomId : me.roomId, + clientId: clientId + }) + ); + return response.body; + } async roomClientList() { const me = this; const response = await this.request( - protocol.buildMessage("room::client::list", { roomId: me.roomId }) + protocol.buildMessage("room::client::list", { + roomId: me.roomId + }) ); return response.body; } diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaRouterRtpCapabilitiesProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaRouterRtpCapabilitiesProtocol.java index 13fc29a..ae8ea1d 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaRouterRtpCapabilitiesProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaRouterRtpCapabilitiesProtocol.java @@ -30,7 +30,7 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter; } """ }, - flow = { "终端->信令服务->媒体服务->信令服务->终端"} + flow = { "终端=>信令服务->媒体服务->信令服务->终端"} ) public class MediaRouterRtpCapabilitiesProtocol extends ProtocolRoomAdapter { diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaSetRouterTypeProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaSetRouterTypeProtocol.java index c65cd57..9c88c09 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaSetRouterTypeProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/media/MediaSetRouterTypeProtocol.java @@ -2,6 +2,8 @@ package com.acgist.taoyao.signal.protocol.media; import java.util.Map; +import com.acgist.taoyao.boot.annotation.Description; +import com.acgist.taoyao.boot.annotation.Protocol; import com.acgist.taoyao.boot.model.Message; import com.acgist.taoyao.signal.client.Client; import com.acgist.taoyao.signal.client.ClientType; @@ -14,6 +16,16 @@ import com.acgist.taoyao.signal.protocol.ProtocolRoomAdapter; * * @author acgist */ +@Protocol +@Description( + body = """ + { + "roomId": "房间ID" + "routerType": "路由类型" + } + """, + flow = "终端->信令服务->终端" +) public class MediaSetRouterTypeProtocol extends ProtocolRoomAdapter { public static final String SIGNAL = "media::set::router::type";