Можно ли использовать AVSpeechSynthesizer в расширении приложения?Работает ли AVSpeechSynthesizer в расширениях приложений?
Я добавил расширение приложения для приложения в приложение, а на отображаемом контроллере по умолчанию я добавил код ошибки в hook - (void)viewDidAppear:(BOOL)animated
, чтобы узнать, могу ли я заставить синтезатор речи сказать @ Hello World "Но, похоже, это не звучит.
Затем я попытался установить делегат синтезатора на контроллер, и все, похоже, работает.
- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didStartSpeechUtterance:(AVSpeechUtterance *)utterance
вызывается. а затем через несколько секунд позже
- (void)speechSynthesizer:(AVSpeechSynthesizer *)synthesizer didFinishSpeechUtterance:(AVSpeechUtterance *)utterance
Это, кажется, показывают, что все работает правильно, но ни один звук не выводится (мой объем вверх).
Я попытался добавить тот же фрагмент кода в свое приложение (содержащее приложение), и он говорит тексты, как ожидалось.
Я понимаю, что некоторые рамки не доступны для расширений приложений, как указано в documentation. Но AVFoundation, похоже, ничего не говорит о том, что он недоступен для расширений приложений.
Любые идеи были бы оценены.
Заранее благодарен!
AVSpeechSynthesizer *s = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *u = [[AVSpeechUtterance alloc] initWithString:@"Hello World!"];
[s speakUtterance:u];