MediaRecorder在Firefox中运行,但在Chrome中不支持语音到文本

时间:2017-05-23 06:13:24

标签: javascript google-chrome firefox speech-to-text watson

以下是工作代码的jsfiddle:https://jsfiddle.net/Noitidart/z5dqpe8r/

如果我在Firefox中加载小提琴它完美无缺。它记录音频,将其发送给watson并获得结果。但是在Chrome中,当它将其发送给watson时会出错。如何让它在Google Chrome中运行?

我基于此处文档中的代码 - https://www.ibm.com/watson/developercloud/doc/speech-to-text/input.html#formats - 在audio/webm部分下它有:

  

对于演示如何从Chrome浏览器中的麦克风捕获音频并将其编码为WebM数据流的JavaScript代码,请参阅jsbin.com/hedujihuqo/edit?js,console。请注意,代码不会将捕获的音频提交给服务。

jsbin链接在这里 - https://jsbin.com/hedujihuqo/edit?js,console

它在Firefox中完美运行。但是它无法在Chrome中运行。在Firefox中,我实际上需要使用audio/ogg。文档中的jsbin说要将auio/webm用于Google Chrome。

这是我的上传代码:

let data = new FormData();
data.append('file', blob, 'recording.' + file_ext);
let results_res = await fetch('https://stream.watsonplatform.net/speech-to-text/api/v1/recognize', {
    method: 'POST',
    headers: {
        'Content-Type': 'audio/' + file_ext,
        'X-Watson-Authorization-Token': token
    },
    body: data
});

有关为什么它无法在Chrome中运行的任何想法?

0 个答案:

没有答案