[*] 删除房间
This commit is contained in:
@@ -11,13 +11,21 @@
|
||||
|taoyao-signal|信令|信令服务|
|
||||
|taoyao-server|服务|启动服务|
|
||||
|
||||
### 直播
|
||||
### 会议模式
|
||||
|
||||
直播、连麦、监控、视频同看
|
||||
所有人员均能视频通话对讲
|
||||
|
||||
### 会议
|
||||
### 对讲模式
|
||||
|
||||
会议模式、广播模式、单人对讲
|
||||
两个人员之间对讲
|
||||
|
||||
### 广播模式
|
||||
|
||||
单个人员能够讲话并且能够听到其他人员讲话,其他人员之间不能讲话。
|
||||
|
||||
### 本地视频模式
|
||||
|
||||
使用本地文件作为音频视频信息
|
||||
|
||||
## 模块关系
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
<url>https://gitee.com/acgist/taoyao</url>
|
||||
<name>taoyao</name>
|
||||
<description>桃夭:桃夭是套`WebRTC`信令服务,使用`Mediasoup`提供媒体服务,支持直播会议两种场景。</description>
|
||||
<description>桃夭:桃夭是套基于`Mediasoup`开发的`WebRTC`音视频信令服务</description>
|
||||
<inceptionYear>2022</inceptionYear>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -36,16 +36,7 @@ public class SpringDocAutoConfiguration {
|
||||
private Integer port;
|
||||
@Autowired
|
||||
private TaoyaoProperties taoyaoProperties;
|
||||
|
||||
@Bean
|
||||
public GroupedOpenApi liveApi() {
|
||||
return GroupedOpenApi.builder()
|
||||
.group("live")
|
||||
.displayName("直播")
|
||||
.packagesToScan("com.acgist.taoyao.live")
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public GroupedOpenApi meetingApi() {
|
||||
return GroupedOpenApi.builder()
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
package com.acgist.taoyao.media.live;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 直播
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Schema(title = "直播", description = "直播")
|
||||
public class Live {
|
||||
|
||||
/**
|
||||
* 直播标识
|
||||
*/
|
||||
@Schema(title = "直播标识", description = "直播标识")
|
||||
private String id;
|
||||
/**
|
||||
* 直播名称
|
||||
*/
|
||||
@Schema(title = "直播名称", description = "直播名称")
|
||||
private String name;
|
||||
/**
|
||||
* 直播密码
|
||||
*/
|
||||
@Schema(title = "直播密码", description = "直播密码")
|
||||
private String password;
|
||||
/**
|
||||
* 终端会话标识列表
|
||||
*/
|
||||
@Schema(title = "终端会话标识列表", description = "终端会话标识列表")
|
||||
private List<String> sns;
|
||||
/**
|
||||
* 创建终端标识
|
||||
*/
|
||||
@Schema(title = "创建终端标识", description = "创建终端标识")
|
||||
private String creator;
|
||||
|
||||
/**
|
||||
* 新增终端会话标识
|
||||
*
|
||||
* @param sn 终端会话标识
|
||||
*/
|
||||
public void addSn(String sn) {
|
||||
synchronized (this.sns) {
|
||||
if(this.sns.contains(sn)) {
|
||||
return;
|
||||
}
|
||||
this.sns.add(sn);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
package com.acgist.taoyao.media.live;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
||||
import com.acgist.taoyao.signal.event.ApplicationEventAdapter;
|
||||
import com.acgist.taoyao.signal.listener.ApplicationListenerAdapter;
|
||||
|
||||
/**
|
||||
* 直播事件监听适配器
|
||||
*
|
||||
* @param <E> 事件泛型
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
public abstract class LiveListenerAdapter<E extends ApplicationEventAdapter> extends ApplicationListenerAdapter<E> {
|
||||
|
||||
@Autowired
|
||||
protected LiveManager liveManager;
|
||||
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package com.acgist.taoyao.media.live;
|
||||
|
||||
import com.acgist.taoyao.boot.annotation.Manager;
|
||||
|
||||
/**
|
||||
* 直播管理
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@Manager
|
||||
public class LiveManager {
|
||||
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
package com.acgist.taoyao.media.live.controller;
|
||||
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.acgist.taoyao.boot.model.Message;
|
||||
import com.acgist.taoyao.media.live.Live;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
|
||||
/**
|
||||
* 直播
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
@Tag(name = "直播", description = "直播管理")
|
||||
@RestController
|
||||
@RequestMapping("/live")
|
||||
public class LiveController {
|
||||
|
||||
@Operation(summary = "直播列表", description = "直播列表")
|
||||
@GetMapping("/list")
|
||||
@ApiResponse(content = @Content(schema = @Schema(implementation = Live.class)))
|
||||
public Message list() {
|
||||
return Message.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "直播状态", description = "直播状态")
|
||||
@GetMapping("/status/{id}")
|
||||
public Message status(@PathVariable String id) {
|
||||
return Message.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "直播终端列表", description = "直播终端列表")
|
||||
@GetMapping("/list/client")
|
||||
public Message listClient() {
|
||||
return Message.success();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -281,20 +281,6 @@
|
||||
|
||||
响应所有终端状态列表
|
||||
|
||||
## 直播信令(3000~3999)
|
||||
|
||||
### 开启直播信令(3000)
|
||||
|
||||
### 关闭直播信令(3001)
|
||||
|
||||
### 直播广播信令(3002)
|
||||
|
||||
### 直播终端列表信令(3997)
|
||||
|
||||
### 直播状态信令(3998)
|
||||
|
||||
### 直播列表信令(3999)
|
||||
|
||||
## 会议信令(4000~4999)
|
||||
|
||||
### 创建会议信令(4000)
|
||||
|
||||
@@ -14,7 +14,7 @@ import com.acgist.taoyao.signal.protocol.client.ClientOnlineProtocol;
|
||||
/**
|
||||
* 终端注册监听
|
||||
*
|
||||
* TODO:如果已经在会议、直播中,自动推流。
|
||||
* TODO:如果已经在会议中,自动推流。
|
||||
*
|
||||
* @author acgist
|
||||
*/
|
||||
|
||||
@@ -8,10 +8,11 @@ import com.acgist.taoyao.signal.event.ApplicationEventAdapter;
|
||||
/**
|
||||
* 信令
|
||||
*
|
||||
* TODO:改为字符
|
||||
*
|
||||
* 1000~1999:平台信令
|
||||
* 2000~2999:终端信令
|
||||
* 3000~3999:会议信令
|
||||
* 4000~4999:直播信令
|
||||
* 5000~5999:媒体信令
|
||||
* 6000~6999:媒体信令(Mediasoup)
|
||||
*
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
package com.acgist.taoyao.signal.protocol.live;
|
||||
|
||||
public class LiveClientListProtocol {
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package com.acgist.taoyao.signal.protocol.live;
|
||||
|
||||
public class LiveCloseProtocol {
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package com.acgist.taoyao.signal.protocol.live;
|
||||
|
||||
public class LiveListProtocol {
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package com.acgist.taoyao.signal.protocol.live;
|
||||
|
||||
public class LiveRegisterProtocol {
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package com.acgist.taoyao.signal.protocol.live;
|
||||
|
||||
public class LiveStatusProtocol {
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user