Как реализовать язык c, на котором Сири мог бы говорить, используя AVSpeechUtterance? - PullRequest
0 голосов
/ 18 февраля 2020

В моем приложении Сири говорит, когда мой iPhone находится рядом с маяками Bluetooth. При активации произнесенная строка произносится на английском языке sh, когда строка на шведском языке sh, поэтому вы слышите странную смесь сломанного английского sh и шведского языка sh. Как сделать так, чтобы когда произносились строки, они произносились в настройках swedi sh?

Это мой код:

import Foundation
import AVFoundation
import AudioToolbox

class SpeachService {

    static let shared:SpeachService = SpeachService()

    let synth = AVSpeechSynthesizer()
    var myUtterance = AVSpeechUtterance(string: "")


    func speakText(textTospeak: String) {


        if(!synth.isSpeaking){
            activateSpeak(text: textTospeak)
        }

        if(synth.isSpeaking && myUtterance.speechString != textTospeak){
            activateSpeak(text: textTospeak)
        }
    }

    func activateSpeak(text: String) {
        AudioServicesPlayAlertSound(1521)
        synth.stopSpeaking(at: AVSpeechBoundary.immediate)
        myUtterance = AVSpeechUtterance(string: text)
        synth.speak(myUtterance)
    }
}

Я пытался реализовать эту строку: myUtterance.voice = AVSpeechSynthesisVoice(language: "sv-SE") в var myUtterance = AVSpeechUtterance(string: ""), но это не сработало, поэтому я не уверен, что мне следует делать

...