首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Android中支持SSML?

在Android中支持SSML?
EN

Stack Overflow用户
提问于 2020-06-17 18:47:36
回答 1查看 888关注 0票数 2

这个问题是几年前提出的,但希望事情已经改变了.

有人能告诉我哪些版本的Android在文本到语音引擎中支持SSML的哪个子集吗?

我使用颤振- TTS做了一些实验,这只是一个将文本传递给底层平台TTS服务的层。

SSML的一些未知子集确实可以在较新的Android上工作--例如,这个SSML。

代码语言:javascript
复制
<speak>before<break time="5s"/>after</speak>

确实会在API 27和API 29的单词之间产生一个5秒钟的停顿。它在API 21上不起作用,但至少它通过忽略所有标记来优雅地处理它。我还没有测试其他API级别。我还试过韵律、音素和朗格标签--它们似乎不起作用。

EN

回答 1

Stack Overflow用户

发布于 2020-06-19 05:26:23

只要TextToSpeech类的TextToSpeech.speakSSML()方法只接受String或CharSequence (然后将它们传递给语音引擎),并且只要Android没有在将来的Android版本中引入像TextToSpeech.speakSSML()这样的新方法(并强制所有引擎都必须支持它).

...then单独的语音引擎处理这些字符串的方式对它们来说是独一无二的,并且最终是不可预测的,因为您直到运行时才知道用户可能已经安装和/或选择了哪些引擎(或版本)在它们的设置中使用。

当然,某个引擎可能很快就会声称完全支持SSML,听起来可能Google引擎(如果你正在测试的话)已经开始使用它了。即使他们最终完全支持它,您也必须提示用户在应用程序中重新配置/安装该引擎的特定版本。

我怀疑你看到它被支持的原因是因为你正在测试一些谷歌引擎的“网络声音”,它与google有一些交叉。

我不认为Android级别应该和它有任何关系,这只是一个用户是否安装了"xyz引擎ver234123.21314“。

谷歌云文本到语音支持它吗,尽管.既然你已经用颤栗穿越了平台,那可能是个更好的方法.但当然,它需要主动网络。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62436229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档