gpt4 book ai didi

ios - AVSpeechSynthesizer 在应用程序扩展中工作吗?

转载 作者:行者123 更新时间:2023-11-29 12:32:46 24 4
gpt4 key购买 nike

是否可以在应用扩展中使用 AVSpeechSynthesizer?

我已经在我的应用程序中添加了应用程序操作扩展,并且在显示的默认 Controller 上,我在 - (void)viewDidAppear:(BOOL)animated 中添加了一些测试代码 Hook 以查看是否可以让语音合成器说出@"Hello World",但它似乎没有发出任何声音。

然后我尝试将合成器的委托(delegate)设置为 Controller ,一切似乎都正常。

- (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];

最佳答案

是的。我有一个与 safari 一起使用的 Action 扩展,并使用 AVSpeechSynthesizer 说出网站的内容,奇怪的是我在尝试时甚至没有为应用程序启用背景音频。扩展已成功激活并开始读取 DOM 的内容。

您必须注意的一件事是在容器应用程序和扩展程序之间共享数据。你需要有

关于ios - AVSpeechSynthesizer 在应用程序扩展中工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27208209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com