0

AVSpeechUtterance のキューにある発話の数を追跡したいと考えています。そのため、話すように設定した順序で話される複数の文字列があります。どの発話番号が話されているかを追跡する方法はありますか?

たとえば、10 個の発話が待ち行列に入っているとします。どちらが話されているかを NSLog できるようにしたい。したがって、次を NSLog する必要がありますUtterance 6 Being Spoken。これを行う方法はありますか?

4

1 に答える 1

0

AVSpeechSynthesizerDelegateとそのspeechSynthesizer:didStartSpeechUtterance:方法を使用できます。AVSpeechUtteranceオブジェクトをNSArray名前付きに保存すると仮定しましょうutterances:

- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance {
  NSUInteger utternanceNo = utterances indexOfObject:utterance];
  NSLog(@"Utterance %@ being spoken", @(utteranceNo));
}
于 2014-07-09T22:12:03.007 に答える