From 2ab0d237dbe74f80af535e125319fe4c851aeaec Mon Sep 17 00:00:00 2001 From: acgist <289547414@qq.com> Date: Tue, 1 Aug 2023 08:12:00 +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-web/src/components/Taoyao.js | 165 +++++++++++++----- .../signal}/controller/ControlController.java | 2 +- .../taoyao/signal/party/room/Recorder.java | 1 + .../control/ControlClientRecordProtocol.java | 4 +- .../control/IControlBellProtocol.java | 2 +- .../control/IControlConfigAudioProtocol.java | 2 +- .../control/IControlConfigVideoProtocol.java | 2 +- 7 files changed, 130 insertions(+), 48 deletions(-) rename taoyao-signal-server/{taoyao-server/src/main/java/com/acgist/taoyao => taoyao-signal/src/main/java/com/acgist/taoyao/signal}/controller/ControlController.java (98%) diff --git a/taoyao-client-web/src/components/Taoyao.js b/taoyao-client-web/src/components/Taoyao.js index a30d522..46b685a 100644 --- a/taoyao-client-web/src/components/Taoyao.js +++ b/taoyao-client-web/src/components/Taoyao.js @@ -795,6 +795,18 @@ class Taoyao extends RemoteClient { case "control::bell": me.defaultControlBell(message); break; + case "control::client::record": + me.defaultControlClientReccord(message); + break; + case "control::config::audio": + me.defaultControlConfigAudio(message); + break; + case "control::config::video": + me.defaultControlConfigVideo(message); + break; + case "control::photograph": + me.defaultControlPhotograph(message); + break; case "control::wakeup": me.defaultControlWakeup(message); break; @@ -1226,7 +1238,7 @@ class Taoyao extends RemoteClient { * @param {*} clientId 目标终端ID * @param {*} enabled 是否响铃 */ - ControlBell(clientId, enabled) { + controlBell(clientId, enabled) { this.request(protocol.buildMessage("control::bell", { enabled, to: clientId, @@ -1243,6 +1255,115 @@ class Taoyao extends RemoteClient { this.push(message); } + /** + * 终端录像信令 + * + * @param {*} clientId 终端ID + * @param {*} enabled 录制状态 + */ + controlClientRecord(clientId, enabled) { + const me = this; + me.request(protocol.buildMessage("control::client::record", { + to : clientId, + enabled: enabled + })); + } + + /** + * 终端录像信令 + * + * @param {*} message 信令消息 + */ + defaultControlClientReccord(message) { + console.debug("终端录像", message); + this.push(message); + } + + /** + * 配置音频信令 + * + * @param {*} clientId 终端ID + * @param {*} config 音频配置 + */ + controlConfigAudio(clientId, config) { + this.request(protocol.buildMessage("control::config::audio", { + ...config, + to: clientId + })); + } + + /** + * 配置音频信令 + * + * @param {*} message 信令消息 + */ + defaultControlConfigAudio(message) { + console.debug("配置音频", message); + this.push(message); + // TODO:配置本地音频 + } + + /** + * 配置视频信令 + * + * @param {*} clientId 终端ID + * @param {*} config 视频配置 + */ + controlConfigVideo(clientId, config) { + this.request(protocol.buildMessage("control::config::video", { + ...config, + to: clientId + })); + } + + /** + * 配置视频信令 + * + * @param {*} message 信令消息 + */ + defaultControlConfigVideo(message) { + console.debug("配置视频", message); + this.push(message); + // TODO:配置本地视频 + } + + /** + * 拍照信令 + * + * @param {*} clientId 终端ID + */ + controlPhotograph(clientId) { + const me = this; + me.request(protocol.buildMessage("control::photograph", { + to: clientId + })); + } + + /** + * 拍照信令 + * + * @param {*} message 信令消息 + */ + defaultControlPhotograph(message) { + console.debug("拍照", message); + this.push(message); + } + + /** + * 服务端录像信令 + * + * @param {*} clientId 终端ID + * @param {*} enabled 录制状态 + */ + controlServerRecord(clientId, enabled) { + const me = this; + me.request(protocol.buildMessage("control::server::record", { + to : clientId, + roomId : me.roomId, + enabled: enabled + })); + } + /** * 终端唤醒信令 * @@ -1264,47 +1385,6 @@ class Taoyao extends RemoteClient { this.push(message); } - /** - * 拍照 - * - * @param {*} clientId 终端ID - */ - controlPhotograph(clientId) { - const me = this; - me.push(protocol.buildMessage("control::photograph", { - to: clientId - })); - } - - /** - * 终端录像信令 - * - * @param {*} clientId 终端ID - * @param {*} enabled 录制状态 - */ - controlClientRecord(clientId, enabled) { - const me = this; - me.push(protocol.buildMessage("control::client::record", { - to : clientId, - enabled: enabled - })); - } - - /** - * 服务端录像信令 - * - * @param {*} clientId 终端ID - * @param {*} enabled 录制状态 - */ - controlServerRecord(clientId, enabled) { - const me = this; - me.push(protocol.buildMessage("control::server::record", { - to : clientId, - roomId : me.roomId, - enabled: enabled - })); - } - /** * 终端音量信令 * @@ -3267,3 +3347,4 @@ class Taoyao extends RemoteClient { } export { Taoyao }; + diff --git a/taoyao-signal-server/taoyao-server/src/main/java/com/acgist/taoyao/controller/ControlController.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/controller/ControlController.java similarity index 98% rename from taoyao-signal-server/taoyao-server/src/main/java/com/acgist/taoyao/controller/ControlController.java rename to taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/controller/ControlController.java index 5fdf452..93d3d83 100644 --- a/taoyao-signal-server/taoyao-server/src/main/java/com/acgist/taoyao/controller/ControlController.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/controller/ControlController.java @@ -1,4 +1,4 @@ -package com.acgist.taoyao.controller; +package com.acgist.taoyao.signal.controller; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/party/room/Recorder.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/party/room/Recorder.java index 9a0cdfe..2bfe8cb 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/party/room/Recorder.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/party/room/Recorder.java @@ -26,6 +26,7 @@ import lombok.extern.slf4j.Slf4j; * 服务端媒体录像机 * * OPUS = 100 + * PCMU = * VP8 = 101 * H264 = 107 * diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/ControlClientRecordProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/ControlClientRecordProtocol.java index d0c46d8..7929ed1 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/ControlClientRecordProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/ControlClientRecordProtocol.java @@ -21,13 +21,13 @@ import com.acgist.taoyao.signal.protocol.ProtocolControlAdapter; body = { """ { - "to": "目标终端ID", + "to" : "目标终端ID", "enabled": 是否录像(true|false) } """, """ { - "enabled": 是否录像(true|false), + "enabled" : 是否录像(true|false), "filepath": "视频文件路径" } """ diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlBellProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlBellProtocol.java index c489dfa..57a3ea2 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlBellProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlBellProtocol.java @@ -11,7 +11,7 @@ public interface IControlBellProtocol { /** * @param clientId 终端ID - * @param enabled 状态 + * @param enabled 状态 * * @return 执行结果 */ diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlConfigAudioProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlConfigAudioProtocol.java index 03339ca..ee8c99b 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlConfigAudioProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlConfigAudioProtocol.java @@ -11,7 +11,7 @@ import com.acgist.taoyao.boot.model.Message; public interface IControlConfigAudioProtocol { /** - * @param clientId 终端ID + * @param clientId 终端ID * @param mediaAudioProperties 音频配置 * * @return 执行结果 diff --git a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlConfigVideoProtocol.java b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlConfigVideoProtocol.java index 6303841..b5b81f8 100644 --- a/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlConfigVideoProtocol.java +++ b/taoyao-signal-server/taoyao-signal/src/main/java/com/acgist/taoyao/signal/protocol/control/IControlConfigVideoProtocol.java @@ -11,7 +11,7 @@ import com.acgist.taoyao.boot.model.Message; public interface IControlConfigVideoProtocol { /** - * @param clientId 终端ID + * @param clientId 终端ID * @param mediaVideoProperties 视频配置 * * @return 执行结果