我正在使用**AVSpeechSynthesizer**,以下是将文本传递给**AVSpeechSynthesizer**的代码。

func speakOutText(_ textToRead:String ){
    let audioSession = AVAudioSession.sharedInstance()
    do {
        try audioSession.setCategory(AVAudioSessionCategoryPlayback)
        try audioSession.setMode(AVAudioSessionModeDefault)
        try audioSession.setActive(true, with: .notifyOthersOnDeactivation)
    } catch {
        print("audioSession properties weren't set because of an error.")
    }
    let speakUtterance = AVSpeechUtterance.init(string: textToRead);
    speakUtterance.voice  = AVSpeechSynthesisVoice(language: "en-IN")
    speakUtterance.pitchMultiplier = 1.2
    speakUtterance.rate   = 0.5
    speechSynthesizer.speak(speakUtterance)

}


它正以女性声音正确说出文字。

但是,如果我在设置-> Siri&Search-> Siri Voice-> Gender(Male)中更改了男声。再次调用speakOutText方法,它仅以女性语音而不是男性语音讲话。

谁能告诉我原因,为什么它不变成男性的声音?

最佳答案

用这个

  AVSpeechSynthesisVoiceGender.male


如果您有任何疑问,请遵循appleLink

08-26 04:03