3

能够使用 HTML5/js api 进行语音识别非常重要。例如,我们有一个使用 webkitSpeechRecognition 在现代 chrome 浏览器中成功运行的应用程序。但是,它不会在 cordova webview 中运行,给出 webkitSpeechRecognition 未定义的错误。

正如在别处指出的那样,cordova webview 目前不支持 webkitSpeechRecognition:

Cordova 是否支持 webkitSpeechRecognition?

上面的问题询问是否支持。显然不是。我的问题是如何解决这个问题并让基于 web api 的语音识别在 Cordova 中工作——这是一个非常重要的问题。

可以使用专用的cordova插件在cordova中进行语音识别,例如cordova-plugin-speechrecognition、phonegap-plugin-speech-recognition。然而,这些有许多问题,并没有最终证明是合适的。例如,即使在同一个操作系统中,它们也会按设备提供不同的支持和性能。此外,它们的行为方式不适合我们的用例,例如,当识别器算法确定语音“结束”时,语音记录结束,这可能会给暂停带来问题,我们无法弄清楚如何压制这个。

另请参阅: Android Continuous SpeechRecognition:防止结束

另一种方法是将音频录制到文件中,将文件转换为适当的格式,通过 webAPI 将文件提交到语音识别服务之一(例如谷歌云语音)并获取结果。这种方法既复杂又涉及许多步骤,而且速度很慢。它不适合需要近乎实时的结果的应用程序,例如对话。

是否可以加载包含 webkitSpeechRecognition 的替代 webview?Crosswalk 过去曾为此目的提供功能。

是否有支持 webkitSpeechRecognition 的 Cordova(适用于 android 或 ios 或理想情况下适用于两者)的更新版本或 beta 版本?或者,cordova 是否支持其他一些用于语音识别的 web api 来实现类似的结果?

底线:如何实现这一目标?

谢谢

4

0 回答 0