package com.dji.sample.speak.controller; import com.dji.sample.common.model.ResponseResult; import com.dji.sample.component.mqtt.service.IMessageSenderService; import com.dji.sample.patches.config.pojo.PatchesConfigPojo; import com.dji.sample.patches.utils.MultipartFileTOFileUtil; import com.dji.sample.speak.model.dto.PsdkModelDto; import com.dji.sample.speak.model.dto.SpeakVoiceStartDto; import com.dji.sample.speak.model.dto.SpeakVolumeDto; import com.dji.sample.speak.model.entity.SpeakVoiceEntity; import com.dji.sample.speak.model.enums.FormatEnum; import com.dji.sample.speak.model.param.SpeakVoiceStartParam; import com.dji.sample.speak.service.SpeakVoiceService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.sound.sampled.UnsupportedAudioFileException; import java.io.File; import java.io.IOException; @RestController @RequestMapping("${url.speak.prefix}${url.speak.version}") public class SpeakVoiceController { @Autowired private SpeakVoiceService voiceServicel; @Autowired private PatchesConfigPojo patchesConfigPojo; @PostMapping("/startVoice") public ResponseResult takeVoice(@RequestParam String sn, @RequestParam int psdk_index, @RequestParam String name, @RequestParam Integer volumn, @RequestParam MultipartFile file) throws UnsupportedAudioFileException, IOException { File file1 = MultipartFileTOFileUtil.multipartFile2File(file, patchesConfigPojo.getUnzip()); SpeakVoiceEntity entity=voiceServicel.takeVoice(name, file1); return ResponseResult.success(voiceServicel.takeVoicee(sn, psdk_index, name, file1, volumn,entity)); } @PostMapping("/stopVoice") public ResponseResult stopVoice(@RequestParam int psdk_index, @RequestParam String sn) { return ResponseResult.success(voiceServicel.stopVoice(sn, psdk_index)); } @PostMapping("/voiceVolumn") public ResponseResult voiceVolumn(@RequestBody SpeakVolumeDto dto, @RequestParam String sn) { return ResponseResult.success(voiceServicel.setVoiceVolume(dto, sn)); } @PostMapping("/voiceMode") public ResponseResult restartVoice(@RequestBody PsdkModelDto dto, @RequestParam String sn) { return ResponseResult.success(voiceServicel.setVoiceMode(sn, dto)); } @PostMapping("/restartVoice") public ResponseResult restartVoice(@RequestParam int psdk_index, @RequestParam String sn) { return ResponseResult.success(voiceServicel.restartVoice(sn, psdk_index)); } @PostMapping("/putVoice") public ResponseResult putVoice(@RequestParam String sn) { return ResponseResult.success(voiceServicel.awayRiver(sn)); } @GetMapping("/selectVoice") public ResponseResult getVoices(@RequestParam Integer page, @RequestParam Integer page_size) { return ResponseResult.success(voiceServicel.getVoices(page, page_size)); } @PostMapping("/putVoice2") public ResponseResult putVoices(@RequestParam String sn) { return ResponseResult.success(voiceServicel.awayCar(sn)); } }