AVSpeechSynthesizer работает на симуляторе, но не на устройстве
Я пытался изучить AVSpeechSynthesis. Код прекрасно работает в iOS Simulator (как на iPad, так и на iOS), но функция преобразования текста в речь вообще не работает на моем iPad. Вот мой код
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//Load Model
self.string = @"Hello World";
self.utterance = [[AVSpeechUtterance alloc] initWithString:self.string];
self.utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"en-US"];
self.utterance.rate = (float) 0.25;
//Load UI
self.textLabel.text = self.string;
}
- (IBAction)startSpeaking:(id)sender {
self.speechSynthesizer = [[AVSpeechSynthesizer alloc] init];
if ([self.speechSynthesizer isSpeaking]) {
[self.speechSynthesizer pauseSpeakingAtBoundary:AVSpeechBoundaryWord];
} else {
[self.speechSynthesizer speakUtterance:self.utterance];
}
}
ОБНОВЛЕНИЕ: AVSpeechSyntheSizer работает, но нет звука Итак, у меня есть UILabel с тем же текстом, что и AVSpeechUtterance в пользовательском интерфейсе. Я реализовал AVSpeechSynthesizerDelegate, чтобы при нажатии кнопки startSpeaking текстовая метка отображала текущее слово красным. Итак, я знаю, что AVSpeechSynthesizer должен работать, потому что он выполняет вызовы делегатов, но я не могу понять, почему я не могу его услышать. Громкость увеличена, и другие приложения не воспроизводят звук.