FAQ
常见问题解答
为什么 artyom 无法在本地文件工作?
Artyom 无法于 file:// protocol 环境下使用
为什么 voice 命令无法在 jsfiddle 上正常使用?
Artyom 无法在注入脚本中使用。
由于安全原因,Artyom.js无法在注入脚本上运行。如果没有该安全屏蔽,speech recognition 将成为不安全连接(http)的危险后门。
为什么在移动设备上,artyom.say (speech synthesis) 使用原生语音进行发音?
speech synthesis 需要使用浏览器语音的语音标识符进行初始化。但是语音标识符命名法并不存在统一标准。
为什么桌面版和移动版的Chrome中Artyom表现并不一致?
如果你在桌面版的 Google Chrome 中使用下述代码获取 voices 属性
你会得到下述结果
Google US English, Google Deutsch, Google español
这些语种的名字在所有语种的桌面版Chrome 上总是一致的,然而如果你在移动设备上进行同样的操作,你会得到与上述不一样的结果,比如:
english USA, german GERMANY, español ESPAÑA
在其他设备中,结果则可能是
en_US, de_DE, es_ES
理论上来说,我们只需要所有语种的对应编码和浏览器编码记录下来,那么这就不再是一个问题(理论上)。然而,这个方案只能在英语作为当前语种的设备上生效,比如一台位于德国的设备,上述代码的可能输出是:
englisch Vereinigte Staaten, deutsch Deutschland, Spanisch Spanien
尝试去对各个国家地区,各种名称识别器,并对各种设备及各种语言进行统一的适配,毫无疑问会大量增加 artyom 作为一个工具包的大小,更何况可能这样的适配可能并不能一本万利。
如果你尝试对某些特别的设备进行支持(设备的所选语种已知,语种对应代码已知),那你可以fork artyom.js 的项目并使用所需设备的语种代码编辑源码中的artyomLanguages variable。
兴许未来的版本中我们会提供一个方法支持自定义语言名称识别器,而不需要你再创造一个只属于你的 artyom.js
(截止到2019年第四季度并没有)
这样的现象对于 command recognition 也存在吗?
Last updated
Was this helpful?