用 Swift 显示 AVSpeechSynthesizer 显示的字幕

Display what AVSpeechSynthesizer is showing as subtitles with Swift

我有一个带引号的数组,我正在使用一个按钮从该数组开始随机播放引号。

我想知道,如何让选定的随机引用也显示在 ViewController 中,以便人们可以阅读语音合成器正在阅读的内容?

为您的视图添加标签并为其设置引用文本

quoteLabel.text = randomQuote

要在多行上显示您的标签,请添加:

label.numberOfLines = 0

How would I have the selected random quotation also displayed in the ViewController so that people can read what the speechsynthesizer is reading?

突出显示发音词的最佳方法是使用 AVSpeechSynthesizerDelegate 协议.

speechSynthesizer:willSpeakRangeOfSpeechString:utterance: 方法

与其在此处复制和粘贴代码片段,不如看看这个 complete and useful example (ObjC and Swift)带有语音合成的粗体。

...is there some way of using Subtitles.sizeToFit() so that the Label is split into 3 or more rows, instead of just "one row till infinity"?

Xcode Interface Builder - Attributes Inspector 中,将标签 属性 Lines 的值设置为 0 并调整您的约束以获得多行显示。