AVSpeechUtterance のキューにある発話の数を追跡したいと考えています。そのため、話すように設定した順序で話される複数の文字列があります。どの発話番号が話されているかを追跡する方法はありますか?
たとえば、10 個の発話が待ち行列に入っているとします。どちらが話されているかを NSLog できるようにしたい。したがって、次を NSLog する必要がありますUtterance 6 Being Spoken
。これを行う方法はありますか?
AVSpeechUtterance のキューにある発話の数を追跡したいと考えています。そのため、話すように設定した順序で話される複数の文字列があります。どの発話番号が話されているかを追跡する方法はありますか?
たとえば、10 個の発話が待ち行列に入っているとします。どちらが話されているかを NSLog できるようにしたい。したがって、次を NSLog する必要がありますUtterance 6 Being Spoken
。これを行う方法はありますか?
AVSpeechSynthesizerDelegate
とそのspeechSynthesizer:didStartSpeechUtterance:
方法を使用できます。AVSpeechUtterance
オブジェクトをNSArray
名前付きに保存すると仮定しましょうutterances
:
- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance {
NSUInteger utternanceNo = utterances indexOfObject:utterance];
NSLog(@"Utterance %@ being spoken", @(utteranceNo));
}