Какао - Как изменить скорость речи, когда NSSpeechSynthesiser говорит? - PullRequest
0 голосов
/ 05 января 2019

Я хотел бы изменить скорость речи NSSpeechSynthesiser во время разговора. В настоящее время я могу этого добиться, но эффект применяется, когда метод startSpeaking вызывается снова.

   func speak(content: String) {
    if isCurrentlySpeaking {
        addToSpeakQueue(content: content)
        return
    }
    isCurrentlySpeaking = true
    loadVoicePreferences()
    speechSynthesiser.startSpeaking(content)
}

private func loadVoicePreferences() {
    guard let selectedVoice = TPPreferenceManager.shared.getSelectedVoiceIdentifier() else {return}
    let speechRate = TPPreferenceManager.shared.getSpeechRate()
    let speechVolume = TPPreferenceManager.shared.getSpeechVolume()
    speechSynthesiser.volume = speechVolume
    speechSynthesiser.setVoice(NSSpeechSynthesizer.VoiceName(rawValue: selectedVoice))
    speechSynthesiser.rate = speechRate
}

Мне бы хотелось, чтобы изменения были применены в тот же момент, когда они сделаны без остановки или приостановки NSSpeechSynthesiser, как в VoiceOver.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...