7

我正在构建一个web应用程序并计划使用speechRecognitionnavigator.getUserMedia作为音频输入。语音识别和getUserMedia

我注意到我的桌面浏览器(Mac上的Chrome,v。31.0.1650.63)询问两次是否允许使用麦克风。虽然这可能对用户有点烦人,但语音识别和音频输入似乎都有效。但是,如果我在Android(Nexus 7,Android v4.4.2; Chrome v31.0.1650.59)上打开相同的页面,它会请求两次允许使用我的麦克风,但我只能使用其中一个(以先发生者为准)。有时,即使我授权访问麦克风,我也会得到语音识别error: "not-allowed"错误。

我做了一个的jsfiddle,在这里:http://jsfiddle.net/5xBpW/

我的问题是:有没有对输入数据流进行语音识别的方法吗?或者有没有其他方法可以使这两种功能在Android版Chrome浏览器上都能正常运行?

+0

鉴于'getUserMedia'在Android上仍然相当实验,'speechRecognition'全部都是实验性的,这听起来像是一个出色的错误报告。 [它似乎没有被记录](https://code.google.com/p/chromium/issues/list?q=getUserMedia+os%3DAndroid)。 – apsillers

+1

我为此提出了一个新的错误:https://code.google.com/p/chromium/issues/detail?id=333881 – snorpey

回答

1

您是否考虑过其他工具? Nuance有一款令人兴奋的新工具/产品(由现任Google工程部门主管Ray K创建),它使用专有学习算法(例如机器智能)将语音数据转换为动作。

这个工具理解语境,并且可以应用到具体行动,使用户不必使用精确的短语:

https://developer.nuance.com/public/index.php?task=mix

游:https://developer.nuance.com/views/templates/mix/howDoesMixWork/phone/index.html

的缺点是,你是依赖第三方,但是由于您正在查看的API也是实验性的,因此可能会引起兴趣。