rain
2024-07-30 66d80894a8f0d37a64cee6d23d60c26b6cec864c
喊话
3 files modified
57 ■■■■ changed files
src/main/java/com/dji/sample/speak/controller/SpeakVoiceController.java 10 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/speak/service/SpeakVoiceService.java 5 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/speak/service/serviceImpl/SpeakVoiceServiceImpl.java 42 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/speak/controller/SpeakVoiceController.java
@@ -7,7 +7,6 @@
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;
@@ -34,8 +33,7 @@
                                    @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));
        return ResponseResult.success(voiceServicel.takeVoice(sn, psdk_index, name, file1, volumn));
    }
    @PostMapping("/stopVoice")
@@ -67,10 +65,4 @@
    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));
    }
}
src/main/java/com/dji/sample/speak/service/SpeakVoiceService.java
@@ -16,9 +16,8 @@
import java.util.List;
public interface SpeakVoiceService {
    SpeakVoiceEntity takeVoice(String name, File file) throws UnsupportedAudioFileException, IOException;
    int takeVoice(String sn , Integer psdk_index, String name, File file,Integer volumn) throws UnsupportedAudioFileException, IOException;
    int takeVoicee(String sn , Integer psdk_index, String name, File file,Integer volumn,SpeakVoiceEntity entity);
    int restartVoice(String sn ,Integer psdk_index);
    int stopVoice(String sn,Integer psdk_index);
@@ -28,8 +27,6 @@
    int setVoiceVolume(SpeakVolumeDto dto,String sn);
    int awayRiver (String sn);
    int awayCar (String sn);
    PaginationData<SpeakVoiceEntity> getVoices(Integer pages,Integer page_size);
}
src/main/java/com/dji/sample/speak/service/serviceImpl/SpeakVoiceServiceImpl.java
@@ -39,31 +39,27 @@
    private SpeakVoiceMapper voiceMapper;
    @Override
    public SpeakVoiceEntity takeVoice(String name, File file) throws UnsupportedAudioFileException, IOException {
    public int takeVoice(String sn, Integer psdk_index, String name, File file,Integer volumn) throws UnsupportedAudioFileException, IOException {
        SpeakVoiceEntity voiceEntity = new SpeakVoiceEntity();
        SpeakVoiceStartDto dto = new SpeakVoiceStartDto();
        SpeakVoiceFileDto fileDto = new SpeakVoiceFileDto();
        SpeakVolumeDto volumeDto=new SpeakVolumeDto();
        volumeDto.setPsdk_index(psdk_index);
        volumeDto.setPlay_volume(volumn);
        String url = upMinio(file, name);
        fileDto.setUrl(url);
        String md5 = MD5Util.getMD5Checksum(file);
        fileDto.setMd5(md5);
        fileDto.setFormat(FormatEnum.PCM);
        fileDto.setName(name);
        dto.setPsdk_index(psdk_index);
        dto.setFile(fileDto);
        double time = getAudioDuration(file);
        voiceEntity.setMd5(md5);
        voiceEntity.setSecond(time);
        voiceEntity.setUrl(url);
        voiceEntity.setName(name);
        voiceMapper.insert(voiceEntity);
        return voiceEntity;
    }
    @Override
    public int takeVoicee(String sn, Integer psdk_index, String name, File file,Integer volumn,SpeakVoiceEntity entity)  {
        SpeakVoiceStartDto dto = new SpeakVoiceStartDto();
        SpeakVoiceFileDto fileDto = new SpeakVoiceFileDto();
        SpeakVolumeDto volumeDto=new SpeakVolumeDto();
        volumeDto.setPsdk_index(psdk_index);
        volumeDto.setPlay_volume(volumn);
        fileDto.setUrl(entity.getUrl());
        fileDto.setMd5(entity.getMd5());
        fileDto.setFormat(FormatEnum.PCM);
        fileDto.setName(entity.getName());
        dto.setPsdk_index(psdk_index);
        dto.setFile(fileDto);
        messageSenderService.publishServicesTopic(sn, VoiceEnums.SPEAKER_PLAY_VOLUME_SET.getMethod(), volumeDto);
        return messageSenderService.publishServicesTopic(sn, VoiceEnums.SPEAKER_AUDIO_PLAY_START.getMethod(), dto).getResult();
    }
@@ -96,7 +92,7 @@
    public int awayRiver(String sn) {
        SpeakVoiceStartDto dto = new SpeakVoiceStartDto();
        SpeakVoiceFileDto fileDto = new SpeakVoiceFileDto();
        fileDto.setUrl("http://dev.jxpskj.com:9000/cloud-bucket/请远离河道07151604");
        fileDto.setUrl("https://dev.jxpskj.com:8026/cloud-bucket/00015672-5d68-4985-9340-b23919d7f77e/DJI_202403060918_008_00015672-5d68-4985-9340-b23919d7f77e/qq.wav");
        fileDto.setMd5("d2b448dcba09071834d02f082dc5386f");
        fileDto.setFormat(FormatEnum.PCM);
        fileDto.setName("河道危险");
@@ -104,17 +100,7 @@
        dto.setFile(fileDto);
        return messageSenderService.publishServicesTopic(sn, VoiceEnums.SPEAKER_AUDIO_PLAY_START.getMethod(), dto).getResult();
    }
    public int awayCar(String sn) {
        SpeakVoiceStartDto dto = new SpeakVoiceStartDto();
        SpeakVoiceFileDto fileDto = new SpeakVoiceFileDto();
        fileDto.setUrl("http://dev.jxpskj.com:9000/cloud-bucket/录音20240730112507301125");
        fileDto.setMd5("b4e738b1c5c97d4fa52f3918bab3f42d");
        fileDto.setFormat(FormatEnum.PCM);
        fileDto.setName("违章停车");
        dto.setPsdk_index(2);
        dto.setFile(fileDto);
        return messageSenderService.publishServicesTopic(sn, VoiceEnums.SPEAKER_AUDIO_PLAY_START.getMethod(), dto).getResult();
    }
    @Override
    public PaginationData<SpeakVoiceEntity> getVoices(Integer pages,Integer page_size) {
        // Paging Query