逐字同步的 AVSpeechSynthesizer

Posted

技术标签:

【中文标题】逐字同步的 AVSpeechSynthesizer【英文标题】:AVSpeechSynthesizer with word by word sync 【发布时间】:2015-04-14 11:03:43 【问题描述】:

我一直在尝试使用AVSpeechSynthesizer 来读取来自UIWebView 的文本。我想这样做的方式是:

    使用 JS 获取屏幕顶部可见元素(即 p、h1、h2、h3 等) 使用 JS 将元素拆分为单词数组。 一个接一个,每个单词都被突出显示(JS)并使用AVSpeechSynthesizer朗读。

现在的问题是,由于每个单词一次只说一个,所以它说得非常突然,就像单个单词而不是一个句子。 我想要的是,如果能让整个元素与AVSpeechSynthesizer 说话,并了解说话的时间有多长,以便同步突出显示或以某种方式使现在正在说出的个人单词保持为一个句子。

【问题讨论】:

你找到解决办法了吗? 【参考方案1】:

看看AVSpeechSynthesizer-Example,它在示例中显示逐字同步。

【讨论】:

它在某种程度上是有帮助的,但是这里使用的是 UILabel,而在我的情况下我使用的是 UIWebView,所以属性字符串在这里真的没有帮助,但是感谢你的先机。

以上是关于逐字同步的 AVSpeechSynthesizer的主要内容,如果未能解决你的问题,请参考以下文章

音频文件的 AVSpeechSynthesizer 话语

Avspeechsynthesizer 语音音频文件,UILocalNotification

是否可以使用 avspeechsynthesizer 保存音频?

AVSpeechSynthesizer 和 AirPlay — 音频设备休眠?

[iOS]AVSpeechSynthesizer语音合成

每当使用 AVSpeechSynthesizer 读取文本时,仪器都会报告内存泄漏