语音播放文本 SwiftUI

第一部分

IMG_0271

第二部分

代码1

import SwiftUI
@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView(TextSay: "Hello world")
        }
    }
}

代码2

import SwiftUI
import AVFoundation
struct ContentView: View {
    let speaker = AVSpeechSynthesizer()
    @State var TextSay: String
    var utterance: AVSpeechUtterance {AVSpeechUtterance(string: TextSay)}
    var body: some View {
        HStack {
            TextField("Enter Text", text: $TextSay)
                .multilineTextAlignment(.center)
                .font(.subheadline)
                .textFieldStyle(RoundedBorderTextFieldStyle())
        }
        Button(action: {
            self.playSpeech()
        }) {
            Image(systemName: "play.circle")
                .resizable()
                .frame(width: 50, height: 50)
                .aspectRatio(contentMode: .fit)
                .accentColor(.green)
        }
        .padding(20)
    }
    func playSpeech() {
        self.speaker.speak(self.utterance)
    }
}