Merge remote-tracking branch 'origin/test'

This commit is contained in:
joylink_zhangsai 2021-04-12 19:07:23 +08:00
commit d703a3e128
3 changed files with 91 additions and 91 deletions

36
pom.xml
View File

@ -108,27 +108,27 @@
<version>0.2.1</version>
</dependency>
<dependency>
<groupId>com.huawei.sis</groupId>
<artifactId>huaweicloud-java-sdk-sis</artifactId>
<version>1.3.2</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.huawei.sis</groupId>-->
<!-- <artifactId>huaweicloud-java-sdk-sis</artifactId>-->
<!-- <version>1.3.2</version>-->
<!-- </dependency>-->
</dependencies>
<repositories>
<repository>
<id>sis-repo</id>
<name>Sis Release Repository</name>
<url>https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<!-- <repositories>-->
<!-- <repository>-->
<!-- <id>sis-repo</id>-->
<!-- <name>Sis Release Repository</name>-->
<!-- <url>https://mirrors.huaweicloud.com/repository/maven/huaweicloudsdk</url>-->
<!-- <releases>-->
<!-- <enabled>true</enabled>-->
<!-- </releases>-->
<!-- <snapshots>-->
<!-- <enabled>false</enabled>-->
<!-- </snapshots>-->
<!-- </repository>-->
<!-- </repositories>-->
<build>
<plugins>

View File

@ -16,15 +16,15 @@ import org.springframework.web.multipart.MultipartFile;
@RequestMapping("/api/voice")
public class VoiceController {
@Autowired
@Qualifier("HuaWeiVoiceService")
private IVoiceService iVoiceService;
@ApiOperation("语音识别")
@PostMapping("recognition")
public VoiceRecognitionResult voiceRecognition(MultipartFile file) {
return this.iVoiceService.voiceRecognition(file, "");
}
//
// @Autowired
// @Qualifier("HuaWeiVoiceService")
// private IVoiceService iVoiceService;
//
// @ApiOperation("语音识别")
// @PostMapping("recognition")
// public VoiceRecognitionResult voiceRecognition(MultipartFile file) {
// return this.iVoiceService.voiceRecognition(file, "");
// }
}

View File

@ -1,63 +1,63 @@
package club.joylink.rtss.services.voice.huawei;
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
import club.joylink.rtss.services.IVoiceService;
import club.joylink.rtss.vo.client.VoiceRecognitionResult;
import com.huawei.sis.bean.AuthInfo;
import com.huawei.sis.bean.SisConfig;
import com.huawei.sis.bean.request.AsrCustomShortRequest;
import com.huawei.sis.bean.response.AsrCustomShortResponse;
import com.huawei.sis.client.AsrCustomizationClient;
import com.huawei.sis.exception.SisException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.Base64;
@Slf4j
@Service("HuaWeiVoiceService")
public class HuaweiVoiceServiceImpl implements IVoiceService {
/**
* 华为语音识别配置
*/
private final String ak = "YDUXTXRYGAHGPHAIXZCU";
private final String sk = "Kcbm3sTDCYEou8kGeAhKxfBkgWybIn6IjJyGBX3p";
private final String region = "cn-north-4";
private final String projectId = "0aada8176180f28c2f34c0196f5394e8";
@Override
public String synthesis(String message, String per) {
throw BusinessExceptionAssertEnum.THIRD_SERVICE_CALL_EXCEPTION.exception("功能暂未实现");
}
@Override
public VoiceRecognitionResult voiceRecognition(MultipartFile file, String lang) {
String filePath;
try {
filePath = IVoiceService.handleAndSaveFile(file);
} catch (IOException e) {
throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("语音文件上传失败", e);
}
AuthInfo authInfo = new AuthInfo(ak, sk, region, projectId);
SisConfig sisConfig = new SisConfig();
AsrCustomizationClient client = new AsrCustomizationClient(authInfo, sisConfig);
String data;
try {
data = Base64.getEncoder().encodeToString(file.getBytes());
} catch (IOException e) {
throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("语音文件编码失败", e);
}
try {
AsrCustomShortRequest request = new AsrCustomShortRequest(data, "pcm16k16bit", "chinese_16k_common");
AsrCustomShortResponse response = client.getAsrShortResponse(request);
return new VoiceRecognitionResult(filePath, response.getResult().getText());
} catch (SisException e) {
throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("语音识别失败", e);
}
}
}
//package club.joylink.rtss.services.voice.huawei;
//
//import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
//import club.joylink.rtss.services.IVoiceService;
//import club.joylink.rtss.vo.client.VoiceRecognitionResult;
//import com.huawei.sis.bean.AuthInfo;
//import com.huawei.sis.bean.SisConfig;
//import com.huawei.sis.bean.request.AsrCustomShortRequest;
//import com.huawei.sis.bean.response.AsrCustomShortResponse;
//import com.huawei.sis.client.AsrCustomizationClient;
//import com.huawei.sis.exception.SisException;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Service;
//import org.springframework.web.multipart.MultipartFile;
//
//import java.io.IOException;
//import java.util.Base64;
//
//@Slf4j
//@Service("HuaWeiVoiceService")
//public class HuaweiVoiceServiceImpl implements IVoiceService {
//
// /**
// * 华为语音识别配置
// */
// private final String ak = "YDUXTXRYGAHGPHAIXZCU";
// private final String sk = "Kcbm3sTDCYEou8kGeAhKxfBkgWybIn6IjJyGBX3p";
// private final String region = "cn-north-4";
// private final String projectId = "0aada8176180f28c2f34c0196f5394e8";
//
//
// @Override
// public String synthesis(String message, String per) {
// throw BusinessExceptionAssertEnum.THIRD_SERVICE_CALL_EXCEPTION.exception("功能暂未实现");
// }
//
// @Override
// public VoiceRecognitionResult voiceRecognition(MultipartFile file, String lang) {
// String filePath;
// try {
// filePath = IVoiceService.handleAndSaveFile(file);
// } catch (IOException e) {
// throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("语音文件上传失败", e);
// }
// AuthInfo authInfo = new AuthInfo(ak, sk, region, projectId);
// SisConfig sisConfig = new SisConfig();
// AsrCustomizationClient client = new AsrCustomizationClient(authInfo, sisConfig);
// String data;
// try {
// data = Base64.getEncoder().encodeToString(file.getBytes());
// } catch (IOException e) {
// throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("语音文件编码失败", e);
// }
// try {
// AsrCustomShortRequest request = new AsrCustomShortRequest(data, "pcm16k16bit", "chinese_16k_common");
// AsrCustomShortResponse response = client.getAsrShortResponse(request);
// return new VoiceRecognitionResult(filePath, response.getResult().getText());
// } catch (SisException e) {
// throw BusinessExceptionAssertEnum.SYSTEM_EXCEPTION.exception("语音识别失败", e);
// }
// }
//
//}