我可以在Swift Playground中加载Alex Voice吗?

时间:2018-05-16 00:43:11

标签: ios swift speech-synthesis avspeechsynthesizer

我正在尝试Apple的语音合成,我想看看Alex设备上的Alex声音是如何发声的。

有没有办法通过Swift游乐场访问Alex语音?

1 个答案:

答案 0 :(得分:2)

是的,如果添加这两行,它将起作用。

import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true

由于语音合成器是异步代码,因此" needsIndefiniteExecution"允许执行在到达游乐场的顶级代码结束后继续。反过来,这为线程和回调提供了执行的时间。 (from Apple's documentation of Playground Support

示例:

import AVFoundation
import PlaygroundSupport

PlaygroundPage.current.needsIndefiniteExecution = true
let synth  = AVSpeechSynthesizer()
let speech = AVSpeechUtterance(string: "Hello, World!")
speech.voice = AVSpeechSynthesisVoice(language: "en-US")
synth.speak(speech)