[*] 删除房间

This commit is contained in:
acgist
2023-02-05 11:26:06 +08:00
parent 50ee82779e
commit 17218c05d7
27 changed files with 140 additions and 499 deletions

View File

@@ -11,13 +11,21 @@
|taoyao-signal|信令|信令服务|
|taoyao-server|服务|启动服务|
### 直播
### 会议模式
直播、连麦、监控、视频同看
所有人员均能视频通话对讲
### 会议
### 对讲模式
会议模式、广播模式、单人对讲
两个人员之间对讲
### 广播模式
单个人员能够讲话并且能够听到其他人员讲话,其他人员之间不能讲话。
### 本地视频模式
使用本地文件作为音频视频信息
## 模块关系

View File

@@ -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>

View File

@@ -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()

View File

@@ -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);
}
}
}

View File

@@ -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;
}

View File

@@ -1,13 +0,0 @@
package com.acgist.taoyao.media.live;
import com.acgist.taoyao.boot.annotation.Manager;
/**
* 直播管理
*
* @author acgist
*/
@Manager
public class LiveManager {
}

View File

@@ -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();
}
}

View File

@@ -281,20 +281,6 @@
响应所有终端状态列表
## 直播信令3000~3999
### 开启直播信令3000
### 关闭直播信令3001
### 直播广播信令3002
### 直播终端列表信令3997
### 直播状态信令3998
### 直播列表信令3999
## 会议信令4000~4999
### 创建会议信令4000

View File

@@ -14,7 +14,7 @@ import com.acgist.taoyao.signal.protocol.client.ClientOnlineProtocol;
/**
* 终端注册监听
*
* TODO如果已经在会议、直播中,自动推流。
* TODO如果已经在会议中自动推流。
*
* @author acgist
*/

View File

@@ -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
*

View File

@@ -1,5 +0,0 @@
package com.acgist.taoyao.signal.protocol.live;
public class LiveClientListProtocol {
}

View File

@@ -1,5 +0,0 @@
package com.acgist.taoyao.signal.protocol.live;
public class LiveCloseProtocol {
}

View File

@@ -1,5 +0,0 @@
package com.acgist.taoyao.signal.protocol.live;
public class LiveListProtocol {
}

View File

@@ -1,5 +0,0 @@
package com.acgist.taoyao.signal.protocol.live;
public class LiveRegisterProtocol {
}

View File

@@ -1,5 +0,0 @@
package com.acgist.taoyao.signal.protocol.live;
public class LiveStatusProtocol {
}