更新接口
This commit is contained in:
parent
590c54b777
commit
25185be6fe
@ -25,16 +25,17 @@ public class LiveDanmuController {
|
||||
@ResponseBody
|
||||
@RequestMapping("/live/danmu/stop")
|
||||
public JSONObject stopLiveDanmu(String roomId) {
|
||||
service.stop(roomId);
|
||||
service.stop(roomId,true);
|
||||
return ResultData.success(ReturnCode.RC100);
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
@RequestMapping("/live/danmu/start")
|
||||
public JSONObject startLiveDanmu(String roomId) {
|
||||
service.start(roomId);
|
||||
service.start(roomId, true);
|
||||
return ResultData.success(ReturnCode.RC100);
|
||||
}
|
||||
|
||||
@ResponseBody
|
||||
@RequestMapping("/live/danmu/file/list")
|
||||
public JSONObject getDanmuList(String roomId) {
|
||||
|
@ -21,12 +21,12 @@ import java.util.List;
|
||||
@Service
|
||||
public class LiveDanmuService {
|
||||
|
||||
public void start(String roomId) {
|
||||
WebSocketManager.getInstance().addRoom(LiveRoomConfig.buildConfig(roomId), true);
|
||||
public void start(String roomId,boolean isUser) {
|
||||
WebSocketManager.getInstance().addRoom(LiveRoomConfig.buildConfig(roomId), isUser);
|
||||
}
|
||||
|
||||
public void stop(String roomId) {
|
||||
WebSocketManager.getInstance().stopRoom(roomId, true);
|
||||
public void stop(String roomId,boolean isUser) {
|
||||
WebSocketManager.getInstance().stopRoom(roomId, isUser);
|
||||
}
|
||||
|
||||
public JSONArray getLiveRoomList() {
|
||||
|
@ -29,6 +29,8 @@ import java.util.concurrent.TimeUnit;
|
||||
public class SystemService {
|
||||
@Resource
|
||||
LiveVideoService videoService;
|
||||
@Resource
|
||||
LiveDanmuService danmuService;
|
||||
SystemConfigDatabases databases = new SystemConfigDatabases();
|
||||
private ScheduledExecutorService timer;
|
||||
private ScheduledFuture<?> scheduled;
|
||||
@ -52,7 +54,7 @@ public class SystemService {
|
||||
}
|
||||
scheduled = timer.scheduleAtFixedRate(() -> {
|
||||
List<LiveConfigDatabaseBean> list = liveConfigDatabase.getAllConfig();
|
||||
System.out.println("循环任务:"+list.size());
|
||||
System.out.println("循环任务:" + list.size());
|
||||
for (LiveConfigDatabaseBean bean : list) {
|
||||
if (bean.isRecordDanmu() && bean.checkRecordDanmuTime()) {
|
||||
recordDanmu(bean);
|
||||
@ -63,19 +65,15 @@ public class SystemService {
|
||||
}
|
||||
}, 0, getLoopTimer(), TimeUnit.MILLISECONDS);
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
scheduled.cancel(true);
|
||||
videoService.stopAll();
|
||||
}
|
||||
|
||||
// 录制弹幕
|
||||
private void recordDanmu(LiveConfigDatabaseBean bean) {
|
||||
LiveRoomConfig config = new LiveRoomConfig();
|
||||
config.setLoginUid(bean.getRecordUid());
|
||||
config.setRoomId(bean.getRoomId());
|
||||
config.setAnchorName(bean.getAnchorName());
|
||||
config.setLogin(StringUtils.hasText(bean.getRecordUid()));
|
||||
config.setRootPath(bean.getRecordPath());
|
||||
WebSocketManager.getInstance().addRoom(config,false);
|
||||
danmuService.start(bean.getRoomId().toString(),false);
|
||||
}
|
||||
|
||||
// 录制视频
|
||||
|
Loading…
Reference in New Issue
Block a user