package com.ym.controller; import com.alibaba.fastjson.JSONObject; import com.ym.pojo.RecordNotify; import com.ym.service.LiveRoomService; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * @author hgw * Created by 2022-02-21 */ @RestController @RequestMapping("/liveRoom") @Slf4j public class LiveRoomController { @Autowired private LiveRoomService liveRoomService; @ApiOperation("创建直播房间") @PostMapping(value = "/create") public Object createLiveRoom(String roomId, String roomName) throws Exception { return liveRoomService.createLiveRoom(roomId, roomName); } @ApiOperation("销毁直播房间") @PostMapping(value = "/destroy") public Object destroyLiveRoom(String roomId) throws Exception { return liveRoomService.destroyLiveRoom(roomId); } @ApiOperation("录制结果回调") @RequestMapping(value = "/recordSync") public void recordSync(@RequestBody String body){ RecordNotify recordNotify = JSONObject.parseObject(body, RecordNotify.class); liveRoomService.recordSync(recordNotify); } @ApiOperation("录制直播") @RequestMapping(value = "/startRecord") public void startRecord(String roomId) throws Exception { liveRoomService.startRecord(roomId); } @ApiOperation("结束录制直播") @RequestMapping(value = "/stopRecord") public void stopRecord(String roomId) throws Exception { liveRoomService.stopRecord(roomId); } }