Javascript chrome上的语音合成器只能播放前200个字符

Javascript chrome上的语音合成器只能播放前200个字符,javascript,google-chrome,firefox,speech,Javascript,Google Chrome,Firefox,Speech,我正在firefox中测试本机语音合成器,它工作正常,只有pause()函数失败,但在chrome中,我有更多错误,它只播放文本的一小部分,只播放前200个字符,不播放其他所有字符,我尝试了库external meSpeak.js,如果它可以播放所有内容,但加载1842个字符的文本需要很长时间,那么我使用的是chrome版本81.0.4044.92的ubuntu系统 用于测试的url 有铬的溶液吗??谢谢我认为这是所选语音合成器的问题。如果您选择一种本地语音(只需在本地计算机上的浏览器/操作系统

我正在firefox中测试本机语音合成器,它工作正常,只有pause()函数失败,但在chrome中,我有更多错误,它只播放文本的一小部分,只播放前200个字符,不播放其他所有字符,我尝试了库external meSpeak.js,如果它可以播放所有内容,但加载1842个字符的文本需要很长时间,那么我使用的是chrome版本81.0.4044.92的ubuntu系统 用于测试的url
有铬的溶液吗??谢谢

我认为这是所选语音合成器的问题。如果您选择一种本地语音(只需在本地计算机上的浏览器/操作系统代码中运行即可生成音频),则不应有字符限制,除非您选择的语音有这样的限制,这似乎不太可能

例如,在Windows上,我使用的两种本地语音是Microsoft David Desktop和Microsoft Zira Desktop。如果我选择这些声音,无论长度如何,都会播放整个文本

相比之下,其他声音,如来自谷歌的声音(如谷歌美国英语)不是本地的;他们可能需要通过网络请求将文本解析为音频。谷歌的语音API似乎对一次翻译多少文本有200个字符左右的限制

如果字符限制有问题,请选择本地语音,而不是谷歌语音

下面是一个片段,列出了您可用的声音,以及哪些是本地的或非本地的:

constpopulatevoicelist=()=>{
log(“记录可用语音”);
for(const voice of speechSynthesis.getVoices()){
log(voice.name,'local:'+voice.localService);
}
};
populateVoiceList();

speechSynthesis.onvoiceschanged=大众语音列表我认为这是所选语音合成器的问题。如果您选择一种本地语音(只需在本地计算机上的浏览器/操作系统代码中运行即可生成音频),则不应有字符限制,除非您选择的语音有这样的限制,这似乎不太可能

例如,在Windows上,我使用的两种本地语音是Microsoft David Desktop和Microsoft Zira Desktop。如果我选择这些声音,无论长度如何,都会播放整个文本

相比之下,其他声音,如来自谷歌的声音(如谷歌美国英语)不是本地的;他们可能需要通过网络请求将文本解析为音频。谷歌的语音API似乎对一次翻译多少文本有200个字符左右的限制

如果字符限制有问题,请选择本地语音,而不是谷歌语音

下面是一个片段,列出了您可用的声音,以及哪些是本地的或非本地的:

constpopulatevoicelist=()=>{
log(“记录可用语音”);
for(const voice of speechSynthesis.getVoices()){
log(voice.name,'local:'+voice.localService);
}
};
populateVoiceList();

speechSynthesis.onvoiceschanged=大众语音列表哦,我重复了一个问题,我在这里找到了答案哦,我重复了一个问题,我在这里找到了答案