我想将“每分钟字数”转换为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;
}
答案 0 :(得分:1)
据我所知,两种情况都不可能。 rate
不等于每分钟特定数量的单词,它取决于实际文本(单词有多长,有多少暂停/标点符号......),语音/语言等等你可以通过尝试一下来得到近似值。
还没有用于确定AVSpeechUtterance
长度的API(除非在说出来时进行测量,但这可能不是您想要的)。