我想将“每分钟的单词数”转换为AVSpeechUtterance
的语速。
我怎样才能做到这一点?
我可以使用语速获得文本的总时间长度吗?
我的代码:
- (AVSpeechUtterance*)convertTextToSpeak:(NSString*)textToSpeak {
AVSpeechUtterance *speechUtterance = [[AVSpeechUtterance alloc] initWithString:textToSpeak];
speechUtterance.rate = 0.2; // default = 0.5 ; min = 0.0 ; max = 1.0
speechUtterance.pitchMultiplier = 1.0; // default = 1.0 ; range of 0.5 - 2.0
speechUtterance.voice = [self customiseVoice];
return speechUtterance;
}
最佳答案
据我所知,这两者都是不可能的。 rate
不等于每分钟特定的单词数,它取决于实际的文本(单词有多长时间,有多少停顿/标点符号...),语音/语言等。您可能通过一些实验得到一个近似值。
也没有API来确定AVSpeechUtterance
的长度(除了在讲话时进行测量,但这可能不是您想要的)。