Ste*_*hen 13 javascript html5 grammar speech-recognition dynamic
我正在寻找一种方法来定义您希望用户<input>在HTML 5 speech属性集的标签中说出什么.
我知道您可以通过grammar属性指定要使用的特定语法,如下所示:
<input type="text" speech grammar="grammar.grxml" />
(见http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Feb/att-0020/api-draft.html)
但是我希望有一种方法可以让它变得动态,这样我就可以指定用户通过javascript来表达的内容.
例如,如果您有一个动态生成的项目列表供用户通过语音进行选择,那么您如何指定他们所说的内容最有可能是其中一个项目?
PS我与谷歌浏览器测试此,因而使用x-webkit-speech属性,而不是speech同样地x-webkit-grammar代替grammar.
我找到了一种在客户端执行此操作的方法,使用新的 html5 功能:blob。
window.URL = window.URL || window.webkitURL;
var myGrammar = new Blob(["My custom grammar"], {
type: 'text/xml Or whatever is the proper MIME type for grammars'});
var grammarUrl = window.URL.createObjectURL(myGrammar);
myInput = document.getElementById("myInput");
myInput.grammar = grammarUrl;
Run Code Online (Sandbox Code Playgroud)
这会从语法字符串中生成一个 url,然后为我们的input元素设置该 url。
这样就不需要发出服务器请求,从而使速度更快,服务器负载更少。
| 归档时间: |
|
| 查看次数: |
3601 次 |
| 最近记录: |