iOS 8中的AVSpeechUterrance速度

Vin*_*zzz 10 ios avspeechsynthesizer

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

float speakSpeedRate = (AVSpeechUtteranceMinimumSpeechRate + AVSpeechUtteranceDefaultSpeechRate)*0.5;
Run Code Online (Sandbox Code Playgroud)

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

有谁经历过这个?

编辑:我通过Apple开发论坛,似乎其他人遇到了这个bug,但它可能依赖于其他参数,如语言...

Bin*_*hen 9

同样的问题在这里.所以我通过给出不同的价值来处理它.似乎iOS8的速度提高了一倍.

if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1)
{
    speechUtterance.rate = 0.15;
}else{
    speechUtterance.rate = 0.3;
}
Run Code Online (Sandbox Code Playgroud)


dek*_*den 5

是.iOS8上的TTS有多个问题(并且,imho,严重破坏):它在模拟器中不起作用,它有静音的问题,需要设置可访问性,速率与iOS7不同等等.只需搜索SO标签"ios8 "和"AVSpeechSynthesizer"并发现一堆错误!

解?等待更新 - 并继续发布雷达.

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

upd dec-2014:XCode 6.2 beta2确实解决了TTS在模拟器和TTS速率方面的问题.

  • 这仍然是iOS 8.4的问题. (2认同)