Итак, после обновления до Xcode 12.0.1 AVSpeechSynthesizer теперь работает на симуляторе (у меня он некоторое время не работал). Теперь переменная isSpeaking всегда имеет значение false независимо от того, говорит ли синтезатор. Я хотел бы вызвать изменение моего представления в зависимости от того, говорит ли синтезатор. Простая версия ниже, есть идеи?
import SwiftUI
import AVFoundation
struct ContentView: View {
var synthesizer = AVSpeechSynthesizer()
var utterance = AVSpeechUtterance(string: "Hello World")
var body: some View {
VStack {
Text(synthesizer.isSpeaking ? "Speaking" : "Not Speaking")
Button(action: {synthesizer.speak(utterance)}) {
Text("Speak To Me")
}
}
}
}