LiveRoomController.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.ym.controller;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.ym.pojo.RecordNotify;
  4. import com.ym.service.LiveRoomService;
  5. import io.swagger.annotations.ApiOperation;
  6. import lombok.extern.slf4j.Slf4j;
  7. import org.springframework.beans.factory.annotation.Autowired;
  8. import org.springframework.web.bind.annotation.PostMapping;
  9. import org.springframework.web.bind.annotation.RequestBody;
  10. import org.springframework.web.bind.annotation.RequestMapping;
  11. import org.springframework.web.bind.annotation.RestController;
  12. /**
  13. * @author hgw
  14. * Created by 2022-02-21
  15. */
  16. @RestController
  17. @RequestMapping("/liveRoom")
  18. @Slf4j
  19. public class LiveRoomController {
  20. @Autowired
  21. private LiveRoomService liveRoomService;
  22. @ApiOperation("创建直播房间")
  23. @PostMapping(value = "/create")
  24. public Object createLiveRoom(String roomId, String roomName) throws Exception {
  25. return liveRoomService.createLiveRoom(roomId, roomName);
  26. }
  27. @ApiOperation("销毁直播房间")
  28. @PostMapping(value = "/destroy")
  29. public Object destroyLiveRoom(String roomId) throws Exception {
  30. return liveRoomService.destroyLiveRoom(roomId);
  31. }
  32. @ApiOperation("录制结果回调")
  33. @RequestMapping(value = "/recordSync")
  34. public void recordSync(@RequestBody String body){
  35. RecordNotify recordNotify = JSONObject.parseObject(body, RecordNotify.class);
  36. liveRoomService.recordSync(recordNotify);
  37. }
  38. @ApiOperation("录制直播")
  39. @RequestMapping(value = "/startRecord")
  40. public void startRecord(String roomId) throws Exception {
  41. liveRoomService.startRecord(roomId);
  42. }
  43. @ApiOperation("结束录制直播")
  44. @RequestMapping(value = "/stopRecord")
  45. public void stopRecord(String roomId) throws Exception {
  46. liveRoomService.stopRecord(roomId);
  47. }
  48. }