如何使用SpeechSynthesisUtterance()及window.speechSynthesis.speak()在Chromium浏览器?
var msg = new SpeechSynthesisUtterance( "Hello I am browser" );
window.speechSynthesis.speak( msg );
Run Code Online (Sandbox Code Playgroud)
系统扬声器没有输出.
已经注意到API的问题HTML5 SpeechSynthesis API是垃圾 ;
var voices = window.speechSynthesis.getVoices();
Run Code Online (Sandbox Code Playgroud)
记录voices标识符的空数组; 并且只有chrome not chromium据称支持Web Speech API规范,Web Speech API Demonstrationhtml在演示时将元素的值设置为在页面启用麦克风时发声的话语.
至少有一些与功能相关的JavaScript显然是
var langs =
[['Afrikaans', ['af-ZA']],
['Bahasa Indonesia',['id-ID']],
['Bahasa Melayu', ['ms-MY']],
['Català', ['ca-ES']],
['?eština', ['cs-CZ']],
['Dansk', ['da-DK']],
['Deutsch', ['de-DE']],
['English', ['en-AU', 'Australia'],
['en-CA', 'Canada'],
['en-IN', 'India'],
['en-NZ', 'New Zealand'],
['en-ZA', 'South Africa'],
['en-GB', 'United Kingdom'],
['en-US', …Run Code Online (Sandbox Code Playgroud) 以前的问题已经提出了相同或类似的询问
但似乎没有使用创建的变通方法window.speechSynthesis().虽然有一些解决方法使用epeak,meSpeak 如何在Chrome浏览器中创建文本或将文本转换为音频?或向外部服务器发出请求.
如何捕捉和记录的音频输出window.speechSynthesis.speak()调用和返回结果为Blob,ArrayBuffer,AudioBuffer或其他对象类型?
是否可以让网站以编程方式向用户说出欢迎信息?
假设我成功登录我的网站时想要用音频消息来招呼用户.我知道我可以录制一个问候语(即MP3),然后播放,但我希望能够以编程方式执行此操作,因为所有用户的名字都会有所不同.
例如,我可能想说Welcome, John DoeJohn Doe何时登录.
我怎么能用普通的javascript做到这一点?
注意:这不适用于生产系统,而是用作较大的UX实验的较小部分.