2017-02-03 4 views
2

Ich habe einen Code-Block, der nicht funktioniert, aber auch keinen Laufzeitfehler gibt. Es kommt einfach keine Sprache aus dem Lautsprecher.Swift Text in Sprache

let synth = AVSpeechSynthesizer() 
var myUtterance = AVSpeechUtterance(string: audioTextField.text) 
myUtterance.rate = 0.3 
synth.speak(myUtterance) 

Gibt es einen Code, den ich verpasse oder ist es etwas anderes? Hilfe wäre sehr willkommen.

Edit: Es ist nicht in irgendwelchen @IBActions funktioniert, aber funktioniert gut in der Ansicht tat Ladefunktion ....

override func viewDidLoad() { 
    super.viewDidLoad() 
    speechRecognizer?.delegate = self 
    timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(tick), userInfo: nil, repeats: true) 
    tick() 
    requestSpeechAuth() 
//WORKS HERE 
} 

@IBAction func audioButtonPressed(_ sender: Any) { 
//DOESN"T WORK HERE  
    if isRecording { 
     stopRecording() 
    } else { 
     startRecording() 
    } 
} 

Antwort

7

Dieser Code (von Apple docs) arbeitet

let string = "Hello, World!" 
let utterance = AVSpeechUtterance(string: string) 
utterance.voice = AVSpeechSynthesisVoice(language: "en-US") 

let synth = AVSpeechSynthesizer() 
synth.speak(utterance) 

Denken Sie daran AVFoundation zu importieren

import AVFoundation 
+0

Unterstützt es ssml? –

+0

Ich meine ssl zu sprechen (anstelle von Text zu Sprache) –