10

我在 iOS 7 中有一个使用语音合成的代码,一切顺利。为了定义我的 AVSpeechUtterance 速度,我使用了以下公式

float speakSpeedRate = (AVSpeechUtteranceMinimumSpeechRate + AVSpeechUtteranceDefaultSpeechRate)*0.5;

但似乎,至少在我的 iPhone 5S 上,在 iOS 8 下,AVSpeechUtteranceDefaultSpeechRate 比在 iOS 7 上快得多。

有没有人经历过?

编辑:我浏览了 Apple 开发论坛,似乎其他人遇到了这个错误,但它可能取决于其他参数,比如语言......

4

3 回答 3

9

同样的问题在这里。所以我通过赋予不同的价值来处理它。看来iOS8的速度翻了一番。

if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1)
{
    speechUtterance.rate = 0.15;
}else{
    speechUtterance.rate = 0.3;
}
于 2014-12-01T16:39:31.250 回答
5

是的。iOS8 上的 TTS 有多个问题(而且,恕我直言,严重损坏):它在模拟器中不起作用,它有静音问题,需要设置可访问性,速率与 iOS7 上的不同等等。只需搜索标签“ios8” ”和“AVSpeechSynthesizer”并发现错误包!

解决方案?只需等待更新 - 并继续发布雷达。

解决方法?在 iOS7 和 iOS8 上测量说出已知短语的时间,并为 iOS8 更正实际速率。

2014 年 12 月更新:XCode 6.2 beta2 确实解决了模拟器中 TTS 和 TTS 速率的问题。

于 2014-10-14T09:18:34.933 回答
2

是的,我注意到了这一点,我将我的演讲速度调整为 float speechSpeed = 0.1000;

于 2014-10-14T09:31:29.437 回答