rain
2024-07-11 c719838525c874e1527b6ee137a163f044ba4a80
src/main/java/com/dji/sample/speak/service/serviceImpl/SpeakVoiceServiceImpl.java
@@ -7,6 +7,8 @@
import com.dji.sample.speak.model.dto.SpeakVoiceFileDto;
import com.dji.sample.speak.model.dto.SpeakVoiceStartDto;
import com.dji.sample.speak.model.dto.SpeakVolumeDto;
import com.dji.sample.speak.model.enums.FormatEnum;
import com.dji.sample.speak.model.enums.PsdkModelEnum;
import com.dji.sample.speak.model.enums.VoiceEnums;
import com.dji.sample.speak.model.param.SpeakVoiceStartParam;
import com.dji.sample.speak.service.SpeakVoiceService;
@@ -26,48 +28,51 @@
    private IMessageSenderService messageSenderService;
    @Autowired
    private MinioPojo pojo;
    @Override
    public int takeVoice(String sn, SpeakVoiceStartParam param) {
        SpeakVoiceStartDto dto=new SpeakVoiceStartDto();
        SpeakVoiceFileDto fileDto=new SpeakVoiceFileDto();
        String url=upMinio(param.getFile(),param.getName());
    public int takeVoice( String sn , Integer psdk_index, String name, File file) {
        SpeakVoiceStartDto dto = new SpeakVoiceStartDto();
        SpeakVoiceFileDto fileDto = new SpeakVoiceFileDto();
        String url = upMinio(file, name);
        fileDto.setUrl(url);
        fileDto.setMd5(MD5Util.getMD5Checksum(param.getFile()));
        fileDto.setFormat(param.getFormat());
        fileDto.setName(param.getName());
        dto.setPsdkIndex(param.getPsdkIndex());
        return messageSenderService.publishServicesTopic(sn, VoiceEnums.SPEAKER_AUDIO_PLAY_START.getMethod(),param).getResult();
        fileDto.setMd5(MD5Util.getMD5Checksum(file));
        fileDto.setFormat(FormatEnum.PCM);
        fileDto.setName(name);
        dto.setPsdk_index(psdk_index);
        dto.setFile(fileDto);
        return messageSenderService.publishServicesTopic(sn, VoiceEnums.SPEAKER_AUDIO_PLAY_START.getMethod(), dto).getResult();
    }
    @Override
    public int restartVoice() {
        return 0;
    public int restartVoice(String sn, Integer psdk_index) {
        return messageSenderService.publishServicesTopic(sn, VoiceEnums.SPEAKER_REPLAY.getMethod(), psdk_index).getResult();
    }
    @Override
    public int stopVoice() {
        return 0;
    public int stopVoice(String sn, Integer psdk_index) {
        return messageSenderService.publishServicesTopic(sn,VoiceEnums.SPEAKER_PLAY_STOP.getMethod(), psdk_index).getResult();
    }
    @Override
    public int setVoiceMode(PsdkModelDto dto) {
        return 0;
    public int setVoiceMode(String sn,PsdkModelDto dto) {
        return messageSenderService.publishServicesTopic(sn,VoiceEnums.SPEAKER_PLAY_MODE_SET.getMethod(), dto).getResult();
    }
    @Override
    public int setVoiceVolume(SpeakVolumeDto dto) {
        return 0;
    public int setVoiceVolume(SpeakVolumeDto dto, String sn) {
        return    messageSenderService.publishServicesTopic(sn,VoiceEnums.SPEAKER_PLAY_VOLUME_SET.getMethod(), dto).getResult();
    }
    public String upMinio(File file,String fileName){
    public String upMinio(File file, String fileName) {
        String endpoint = pojo.getEndpoint();
        String accessKey = pojo.getAccessKey();
        String secretKey = pojo.getSecretKey();
        String bucketName = pojo.getBucket();
        String objectName="/"+fileName+getNowTimeName();
        FileServiceImpl.uploadFile(endpoint,accessKey,secretKey,bucketName,objectName,file,"audio/mpeg");
        return endpoint+"/"+bucketName+objectName;
        String objectName = "/" + fileName + getNowTimeName();
        FileServiceImpl.uploadFile(endpoint, accessKey, secretKey, bucketName, objectName, file, "audio/mpeg");
        return endpoint + "/" + bucketName + objectName;
    }
    public static String getNowTimeName() {
        LocalDateTime currentTime = LocalDateTime.now();
        // 格式化时间,生成当前时间