diff --git a/msh_crmeb_22/crmeb-common/src/main/java/com/zbkj/common/request/tencent/TencentAsrRequest.java b/msh_crmeb_22/crmeb-common/src/main/java/com/zbkj/common/request/tencent/TencentAsrRequest.java index 39984a8..6f352de 100644 --- a/msh_crmeb_22/crmeb-common/src/main/java/com/zbkj/common/request/tencent/TencentAsrRequest.java +++ b/msh_crmeb_22/crmeb-common/src/main/java/com/zbkj/common/request/tencent/TencentAsrRequest.java @@ -50,4 +50,7 @@ public class TencentAsrRequest { @ApiModelProperty(value = "是否显示词级别时间戳") private Boolean wordInfo; + + @ApiModelProperty(value = "音频格式(sourceType=1 时必传:mp3/wav/m4a/aac/pcm/silk)", example = "mp3") + private String voiceFormat; } diff --git a/msh_crmeb_22/crmeb-service/src/main/java/com/zbkj/service/service/impl/tool/ToolTencentAsrServiceImpl.java b/msh_crmeb_22/crmeb-service/src/main/java/com/zbkj/service/service/impl/tool/ToolTencentAsrServiceImpl.java index 93c6fa9..e5b2ab6 100644 --- a/msh_crmeb_22/crmeb-service/src/main/java/com/zbkj/service/service/impl/tool/ToolTencentAsrServiceImpl.java +++ b/msh_crmeb_22/crmeb-service/src/main/java/com/zbkj/service/service/impl/tool/ToolTencentAsrServiceImpl.java @@ -179,7 +179,13 @@ public class ToolTencentAsrServiceImpl implements ToolTencentAsrService { request.getEngineModelType() : asrConfig.getDefaultEngineModel()); req.setSourceType(request.getSourceType() != null ? request.getSourceType().longValue() : 0L); - req.setVoiceFormat(getVoiceFormat(request.getUrl())); + // test-0415 反馈3-1:sourceType=1 时 url 为空,从 url 推断会默认 wav,导致 mp3 数据被当 wav 解 → "Audio decoding failed" + // 优先使用前端显式传入的 voiceFormat + String voiceFormat = request.getVoiceFormat(); + if (voiceFormat == null || voiceFormat.isEmpty()) { + voiceFormat = getVoiceFormat(request.getUrl()); + } + req.setVoiceFormat(voiceFormat); if (request.getSourceType() != null && request.getSourceType() == 1) { req.setData(request.getData());