KML*_*KML 9 text-to-speech avfoundation avspeechsynthesizer swift
我已经在我的应用程序中实现了文本到语音,它可以正常使用我目前使用的代码.基本上算法创建文本,然后如果用户点击UIButton,则说出文本.
挑战:我想启用相同的UIButton来暂停合成器,如果按钮已经被轻敲(即当前正在说话文本),然后如果再次点击按钮则继续说话停止.
我知道AVFoundation Reference中有一些函数,但我无法正确实现它们.
有谁知道如何在Swift中这样做?
import UIKit
import AVFoundation
@IBOutlet var generatedText: UILabel!
@IBAction func buttonSpeakClicked(sender: UIButton){
var mySpeechSynthesizer:AVSpeechSynthesizer = AVSpeechSynthesizer()
var mySpeechUtterance:AVSpeechUtterance = AVSpeechUtterance(string:generatedText.text)
mySpeechUtterance.rate = 0.075
mySpeechSynthesizer .speakUtterance(mySpeechUtterance)
}
Run Code Online (Sandbox Code Playgroud)
你试过这些方法吗?
- pauseSpeakingAtBoundary:和- continueSpeaking
这些是一些属性,(paused和speaking)可以帮助您确定合成器的状态.
像这样的代码应该工作: mySpeechSynthesizer.pauseSpeakingAtBoundary(AVSpeechBoundary.Immediate)
| 归档时间: |
|
| 查看次数: |
3204 次 |
| 最近记录: |