定时器上的AVSpeechSynthsesizer

时间:2016-01-22 03:41:44

标签: ios swift avspeechsynthesizer

如果开启了开关,则每隔x秒发送一次文字转语音。开关位于第一个视图控制器上,语音发生在第二个视图控制器的segue之后。

第一个视图控制器中的代码:

@IBAction func speakwords(sender: AnyObject) {
        NSNotificationCenter.defaultCenter().postNotificationName("speaknotif", object: speakwords)

第二个视图控制器中的代码:

verride func viewDidLoad() {
NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("talk:"), name: "speaknotif", object: self.view.window)


func talk(notification: NSNotification){guard let count = notification.object else {return}
        if Bool(TYPE_BOOL as! NSO) = "true"{

        let speechsynth = AVSpeechSynthesizer()}

1 个答案:

答案 0 :(得分:0)

在您的情况下,通知中心没用。因为在为该通知添加观察者之前调用post方法。因此,通知概念不会在那里工作。

而不是这样,只需设置一个 Bool 就像" isSwitchSelected"。并将该值传递给下一个vc,检查该值是否为yes,然后调用 func talk 方法。