0

我将开始这个问题,试图准确解释我正在尝试做的事情:

我有 ViewControllers A 和 B。他们都将运行 AVSpeechSynthesizer 来读取某些文本。我的问题是我与来自两个 VC 的 UI 元素交互相同的 AVSpeechSynthesizer,例如:

当我在 VC AI 上有一行包含文本时,我点击该行,然后 AVSpeechSynthesizer 会生成语音。我的 Delegate 方法运行,并且进度条每秒更新一次。但是当我在同一行上再次点击时,我必须将另一个新的 VC 推送到 NavigationController 中,在这个新的 VC 中我有相同的元素(进度条、播放/暂停按钮)并且这个 UI 我无法更新它与在前一个 VC 上运行的委托。音频不会停止,但来自 VC A 的 AVSpeechSynthesizer 委托不会更新来自 VC B 的控件。

简而言之:2 个 ViewController,相同的 UI 组件(播放/暂停按钮,进度条),只有一个 AVSpeechSynthesizer 具有委托同时获取 2 个 UI。

这是我多年来的第一个问题,恐怕我对我的问题不是很清楚。如果不是,我可以尝试解释更多。

4

0 回答 0