-1

アプリが話し終わるまで、ユーザーとの対話を無効にする必要があります。以下のコード例を参照してください。

self.view.userInteractionEnabled = NO;
[self speak :@"wait for me to speak"];
self.view.userInteractionEnabled = YES;

-(void)speak:(NSString*)word
{
    AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc] initWithString:word];
    utterance.rate = AVSpeechUtteranceMinimumSpeechRate;
    utterance.rate = 0.2f;
    utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage
    [AVSpeechSynthesisVoice currentLanguageCode]];
    [synthesizer speakUtterance:utterance];
}
4

1 に答える 1

1

デリゲート ( AVSpeechSynthesizerDelegate ) を使用します。スピーチが終了すると通知されるので、ユーザー インタラクションを再度有効にします。

于 2015-02-05T04:22:54.773 に答える