rain
2024-08-16 589ff1b4b598f2f763eb421da960d5550e719144
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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.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());
        return ResponseResult.success(voiceServicel.takeVoice(sn, psdk_index, name, file1, volumn));
    }
 
    @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("/startVoices")
    public ResponseResult takeVoices(
                                    @RequestParam String sn,
                                    @RequestParam int psdk_index,
                                    @RequestParam String name,
                                    @RequestParam String url) throws UnsupportedAudioFileException, IOException {
        return ResponseResult.success(voiceServicel.takeVoices(sn, psdk_index, name, url));
    }
 
}