在开发项目的过程中,需要对小程序收集的语音进行语音识别,但是调用STTAPI接口的时候却返回无效的音频文件,百思不得其解???
这是小程序的语音录音设置
options: {
duration: 60000, // 最长录制时间 60秒(单位为毫秒)
format: 'wav', // 音频格式使用 WAV
sampleRate: 16000, // 采样率设置为 16kHz
encodeBitRate: 96000, // 编码比特率 (256kbps,可以根据需求调整)
numberOfChannels: 1, // 单声道音频
},
虽然小程序给你返回了一个后缀为wav格式的,但是其实里面的数据格式并不是一个标准的wav格式,其实是一个webm的文件,也就是为什么API会报错一个无效的音频文件,因为接口并不支持webm文件的音频识别。
那么我在java中做了如下处理,把webm转为一个标准wav格式
首先需要下载ffmpeg
仅供参考
@PostMapping("/voiceGame")
public Results<String> Vstart(@RequestParam("file") MultipartFile file) throws IOException, InterruptedException, URISyntaxException, NoSuchAlgorithmException, InvalidKeyException {
// FFmpeg 的路径
String ffmpegPath = "D:\\ffmpeg\\ffmpeg-master-latest-win64-gpl-shared\\bin\

最低0.47元/天 解锁文章
6966






