を作成し、 のAVSpeechSynthesizer
再生を開始しましたAVSpeechUtterance
。これはうまくいきます。ユーザーがボタンを押すと、シンセサイザーが一時停止します。これも機能します。ただし、continueSpeaking
メソッドでシンセサイザーを再起動しようとしても、何も起こりません。isSpeaking
プロパティを確認すると、まだNO
です。オーディオを中断したところから再生を再開するにはどうすればよいですか?
AVSpeechSynthesizer *synthesizer_;
synthesizer_ = [[AVSpeechSynthesizer alloc] init];
synthesizer_.delegate = self;
- (void)textToSpeech{
AVSpeechUtterance *utterance = [[AVSpeechUtterance alloc]initWithString:itemText];
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:localeCode];
utterance.rate = UTTERANCE_RATE;
utterance.preUtteranceDelay = itemDelayTimeInterval;
[synthesizer_ speakUtterance:utterance];
}
- (IBAction)pauseButtonPressed:(id)sender {
if (synthesizer_.isSpeaking) {
[synthesizer_ pauseSpeakingAtBoundary:AVSpeechBoundaryWord];
}
else{
[synthesizer_ continueSpeaking];
}
}