[修改]语音识别并与正确文本进行校验接口的参数接收方式
CI / Docker-Build (push) Successful in 2m31s
Details
CI / Docker-Build (push) Successful in 2m31s
Details
This commit is contained in:
parent
ba1e057bce
commit
99a772a050
|
@ -7,9 +7,11 @@ import club.joylink.rtss.vo.client.PageVO;
|
||||||
import club.joylink.rtss.vo.client.competition.VoiceErrorVO;
|
import club.joylink.rtss.vo.client.competition.VoiceErrorVO;
|
||||||
import club.joylink.rtss.vo.client.voice.VoiceRecognitionResult;
|
import club.joylink.rtss.vo.client.voice.VoiceRecognitionResult;
|
||||||
import club.joylink.rtss.vo.voice.VoiceVerifyResultVO;
|
import club.joylink.rtss.vo.voice.VoiceVerifyResultVO;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
@ -58,7 +60,9 @@ public class VoiceController {
|
||||||
* 校验语音识别结果
|
* 校验语音识别结果
|
||||||
*/
|
*/
|
||||||
@PostMapping("/verify")
|
@PostMapping("/verify")
|
||||||
public VoiceVerifyResultVO verifyVoice(MultipartFile file, String text) {
|
public VoiceVerifyResultVO verifyVoice(HttpServletRequest request, @RequestBody byte[] fileData,
|
||||||
return iVoiceTrainingService.verifyVoice(file, text);
|
String text) {
|
||||||
|
String contentType = request.getHeader("Content-Type");
|
||||||
|
return iVoiceTrainingService.verifyVoice(contentType, fileData, text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,9 +21,10 @@ public interface IVoiceTrainingService {
|
||||||
/**
|
/**
|
||||||
* 校验语音识别结果
|
* 校验语音识别结果
|
||||||
*
|
*
|
||||||
* @param file 需要校验的语音
|
* @param contentType
|
||||||
* @param text 正确的文本
|
* @param file 需要校验的语音
|
||||||
|
* @param text 正确的文本
|
||||||
* @return 校验结果
|
* @return 校验结果
|
||||||
*/
|
*/
|
||||||
VoiceVerifyResultVO verifyVoice(MultipartFile file, String text);
|
VoiceVerifyResultVO verifyVoice(String contentType, byte[] file, String text);
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,25 +47,27 @@ public class VoiceTrainingService implements IVoiceTrainingService {
|
||||||
@Override
|
@Override
|
||||||
public VoiceRecognitionResult voiceRecognition(MultipartFile file) {
|
public VoiceRecognitionResult voiceRecognition(MultipartFile file) {
|
||||||
VoiceRecognitionVO vo = VoiceRecognitionVO.load(file);
|
VoiceRecognitionVO vo = VoiceRecognitionVO.load(file);
|
||||||
VoiceRecognitionResult result = this.iVoiceService.voiceRecognition(vo);
|
return voiceRecognition(vo);
|
||||||
// VoiceRecognitionResult result = this.iVoiceService.voiceRecognition(file, "");
|
|
||||||
result.setResult(simulationVoiceHandler.handle(result.getResult()));
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public VoiceRecognitionResult voiceRecognition(byte[] bytes, String filePath) {
|
public VoiceRecognitionResult voiceRecognition(byte[] bytes, String filePath) {
|
||||||
VoiceRecognitionVO vo = new VoiceRecognitionVO(bytes);
|
VoiceRecognitionVO vo = new VoiceRecognitionVO(bytes);
|
||||||
VoiceRecognitionResult result = this.iVoiceService.voiceRecognition(vo);
|
return voiceRecognition(vo);
|
||||||
// VoiceRecognitionResult result = this.iVoiceService.voiceRecognition(bytes, filePath);
|
|
||||||
result.setResult(simulationVoiceHandler.handle(result.getResult()));
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public VoiceVerifyResultVO verifyVoice(MultipartFile file, String text) {
|
public VoiceVerifyResultVO verifyVoice(String contentType, byte[] fileData, String text) {
|
||||||
VoiceRecognitionResult voiceRecognitionResult = voiceRecognition(file);
|
VoiceRecognitionResult voiceRecognitionResult = voiceRecognition(
|
||||||
|
new VoiceRecognitionVO(fileData, contentType));
|
||||||
boolean match = StrUtils.isMatch(text, voiceRecognitionResult.getResult(), 20);
|
boolean match = StrUtils.isMatch(text, voiceRecognitionResult.getResult(), 20);
|
||||||
return new VoiceVerifyResultVO(voiceRecognitionResult.getResult(), match);
|
return new VoiceVerifyResultVO(voiceRecognitionResult.getResult(), match);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private VoiceRecognitionResult voiceRecognition(VoiceRecognitionVO vo) {
|
||||||
|
VoiceRecognitionResult result = this.iVoiceService.voiceRecognition(vo);
|
||||||
|
// VoiceRecognitionResult result = this.iVoiceService.voiceRecognition(file, "");
|
||||||
|
result.setResult(simulationVoiceHandler.handle(result.getResult()));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue