当前位置: 首页 > 知识库问答 >
问题:

如何在iOS 7中使用AVSpeechSynthesizer更改说话时的语速

司徒瀚
2023-03-14

我想在说文本时改变语速,以了解速度有多快。

我测试了以下两种方式,但语速没有变化。

- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer willSpeakRangeOfSpeechString:NSRange)characterRange utterance:(AVSpeechUtterance *)utterance{

    // 1. AVSpeechUtterance *SpeechUtterence; 
    SpeechUtterence.rate = fSpeechSpeed;

   // 2. set fSpeechSpeed from other view 
    utterance.rate = fSpeechSpeed;

}

共有1个答案

戴正阳
2023-03-14

如果语音合成器已经在讲话,这意味着您已经调用了SpeakOutrance方法。在这一点上,更改任何AVSpeechOutrance实例属性(如rate)都不会产生任何效果。如果要更改当前讲话的速率,需要使用上面列出的方法(willSpeakRangeOfSpeechString)来确定您在分配给该讲话的字符串中的位置,请调用语音合成器方法StopSpeakingBoundary来停止当前讲话,根据剩下的字符串创建一个新的话语,然后再次调用speakoutrance。

 类似资料:
  • 如何在iOS 7中更改导航栏的颜色? 基本上,我想实现像推特导航条(更新推特为也就是说)这样的东西。我嵌入了一个导航条在一个的顶部。我想要的只是将导航条的颜色和顶部的实用工具条一起更改为浅蓝色。我似乎在我的中找不到一个选项。

  • 问题内容: 我想在php中延长会话超时 我知道可以通过修改php.ini文件来实现。但我无权访问。 那么有可能只用php代码来做到吗? 问题答案: 如果需要严格的保证,会话超时是必须在代码中实现的概念。这是 唯一的办法 ,你可以绝对肯定的是,没有永远的会话将不活动的X分钟后存活。 如果稍微放松一下此要求是可以接受的,并且可以设置 下限 而不是严格的持续时间,那么您可以轻松地做到这一点,而无需编写自

  • 我的应用程序背景很暗,但在iOS 7中,状态栏变得透明。所以我看不到任何东西,只有角落里的绿色电池指示灯。如何将状态栏文本颜色更改为与主屏幕上相同的绿色或橙色? 我知道关于 > 在plist中将

  • 我正在iOS应用程序中使用进行文本到语音转换。 语音合成器在所有设备上都运行良好,除了运行iOS9.0.2的iPad 2(型号A1395)。我使用Xcode 7.0.1。 问题是,在播放文本时说"希望"字母"p"要么真的很安静,要么不播放,用户只能听到"ho"。如果文本是“希望”,那么它播放正确。 有没有办法解决这个问题?

  • 我想更改导航栏的颜色,但我不确定是否应该更改色调或背景。我知道iOS 7将采用更为平坦的设计(甚至建议删除渐变),但我很难理解这两种设计。即使我设置了背景色,它也没有任何作用。 在此图像中,背景设置为绿色,但条形图仍为蓝色:

  • 问题内容: 我有一列是时间戳。 它记录如下内容: 然后我在php中使用它: 它可以输出如下内容: 我的问题是,如何更改日期文本,使其以另一种语言(特别是瑞典语)输出月份名称? 例如:1月为瑞典文Januari 谢谢 问题答案: 本地的PHP函数是 strftime() 。 %B 完整月份的名称,基于从1月到12月的语言环境 如果服务器不在瑞典语言环境中,请使用 setlocale() 。 也就是说