1
다음은 TTS (text-to-speech) 코드입니다. 모든 것이 iOS 11 아래에서 잘 작동합니다. 그러나 iOS 11에서는 위임 메소드가 호출되지 않습니다.AVSpeechSynthesizer 대리자가 iOS 11에서 호출하지 않습니다.
AVSpeechSynthesizerDelegate
이 정확하게 설정되어 있습니다. 버튼 탭
AVSpeechSynthesizer *synthesizer = [[AVSpeechSynthesizer alloc]init];
synthesizer.delegate = self;
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:stringToSpeech];
[utterance setRate:AVSpeechUtteranceDefaultSpeechRate];
[utterance setPitchMultiplier:1];
[utterance setVolume:1];
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];
[synthesizer speakUtterance:utterance];
에
(이 아이폰 OS 11 이하로 작동되기 때문에)이 내가 구현 한 대의원 방법이 있습니다.
-(void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didFinishSpeechUtterance:(AVSpeechUtterance *)utterance {
NSLog(@"finished");
}
-(void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance{
NSLog(@"Started");
}
누군가이 문제에 직면 했습니까? 도움이 될 것입니다. 귀하의 synthesizer
목적은 : 그 일을 할 수있는 재산이어야 엑스 코드 9.0
나는 이것을 시도 했어야했다. 감사 ! 그것은 일한 –
@MZubairShamshad 위에서 언급 한 2 가지 유형 중 어떤 유형의 사용이 문제를 해결 했습니까? –
@AanchalChaurasia'@property (강하고 비 구조) AVSpeechSynthesizer * 신디사이저; 나를 위해 작동했습니다. –