【发布时间】:2016-12-17 12:47:49
【问题描述】:
我正在使用 Google Chrome (55.0.2883.87) 与 Google 的 Web Speech API 合作,我遇到了一些非常奇怪的行为。
当试图说出名字时,后跟一个数字(如John 4),它通常只是说出名字和数字,应该如此 - 但对于某些名字,它会加上单词chapter 在名称和数字之间,所以 Daniel 4 变为 Daniel Chapter 4。
我随机选取了一些名称,并用以下代码对其进行了测试:
<script>
var names = ['Brian', 'John', 'Mike', 'Julia', 'Daniel', 'Michael', 'David', 'Jason', 'Jack'];
names.forEach(function(name) {
var msg = new SpeechSynthesisUtterance(name + ' 4');
window.speechSynthesis.speak(msg);
});
</script>
msg 变量在使用 console.log() 记录时不包含单词 chapter
在这 9 个名字中,John 和 Daniel 两个名字之间是 chapter。
问题
为什么会发生这种情况,哪些标准决定了哪些名称会受到影响?
【问题讨论】:
标签: javascript google-chrome text-to-speech google-text-to-speech webspeech-api