Web Speech API - 再说一遍(重置句子)
Web Speech API - Speak again (reset sentence)
我使用 webkitSpeechRecognition()
创建我自己的小录音机。
这是一个演示(仅适用于 chrome!)
http://jsfiddle.net/gsu4aod2/
说一句话然后
1a.) 如果文本正确,点击 "add sentence" 按钮
1b.) 如果文本不正确,请单击 "speak again" 按钮
我的问题是我不知道如何 "reset" 文本。
当我使用 stop()
和 start()
方法时,文本被删除,但我必须一次又一次地确认对麦克风的访问。
有什么想法吗?
网络语音API规范
https://www.google.com/intl/en/chrome/demos/speech.html
您正在获取从索引 0 开始的 events.result 数据。您需要使用名为 event.resultIndex
.
的内容启动 for
循环
resultIndex attribute: The resultIndex must be set to the lowest index
in the "results" array that has changed. [source]
recognition.onresult = function (event) {
//console.log(event);
var final = "";
var interim = "";
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].final) {
final += event.results[i][0].transcript;
} else {
interim += event.results[i][0].transcript;
}
}
我使用 webkitSpeechRecognition()
创建我自己的小录音机。
这是一个演示(仅适用于 chrome!)
http://jsfiddle.net/gsu4aod2/
说一句话然后
1a.) 如果文本正确,点击 "add sentence" 按钮
1b.) 如果文本不正确,请单击 "speak again" 按钮
我的问题是我不知道如何 "reset" 文本。
当我使用 stop()
和 start()
方法时,文本被删除,但我必须一次又一次地确认对麦克风的访问。
有什么想法吗?
网络语音API规范 https://www.google.com/intl/en/chrome/demos/speech.html
您正在获取从索引 0 开始的 events.result 数据。您需要使用名为 event.resultIndex
.
for
循环
resultIndex attribute: The resultIndex must be set to the lowest index in the "results" array that has changed. [source]
recognition.onresult = function (event) {
//console.log(event);
var final = "";
var interim = "";
for (var i = event.resultIndex; i < event.results.length; ++i) {
if (event.results[i].final) {
final += event.results[i][0].transcript;
} else {
interim += event.results[i][0].transcript;
}
}