我想跟踪 AVSpeechUtterance 队列中的话语数量。所以我有多个字符串要按照我设置它们说话的顺序来说话。有没有办法可以跟踪正在说出的话语编号?
所以说我有 10 条话语在排队等待发言。我希望能够 NSLog 正在说哪一个。所以它应该 NSLog 如下Utterance 6 Being Spoken
:有没有办法我可以做到这一点?
我想跟踪 AVSpeechUtterance 队列中的话语数量。所以我有多个字符串要按照我设置它们说话的顺序来说话。有没有办法可以跟踪正在说出的话语编号?
所以说我有 10 条话语在排队等待发言。我希望能够 NSLog 正在说哪一个。所以它应该 NSLog 如下Utterance 6 Being Spoken
:有没有办法我可以做到这一点?
你可以使用AVSpeechSynthesizerDelegate
和它的speechSynthesizer:didStartSpeechUtterance:
方法。假设您将AVSpeechUtterance
对象存储在NSArray
named中utterances
:
- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance {
NSUInteger utternanceNo = utterances indexOfObject:utterance];
NSLog(@"Utterance %@ being spoken", @(utteranceNo));
}