什么都不说先上效果
早在2011年iPhone4s 的上,iOS 5系统就有了语音识别.
但有以下缺陷
需要- 弹出键盘
只支持实时语音
无法自定义录音
单一的输出结果
不开放
在 2016 年的 WWDC 上,Apple 终于开放了语音识别 Speech Recognition API,那就是 Speech 框架。事实上,Siri 的语音识别正是由 Speech Kit 提供支持。
超过50种语言获得支持
任何运行iOS10的设备都可用
加入用户授权使其更安全
可以转化音频文件和实时语音
下面通过一个语音转换为文本介绍Speech 框架的使用
##界面设计
首先,让我们来创建一个 iOS Single View Application 工程。然后在 Main.storyboard 上添加
UILabel用于标题
UITextView用于显示识别内容
UIButton 用于触发
下一步,连线 textView变量,Button变量和事件
@IBOutlet weak var textView: UITextView!
@IBOutlet weak var speakerBtn: UIButton!
@IBAction func speakAction(_ sender: Any) {
}
##使用 Speech 框架
import这个框架,并遵循 SFSpeechRecognizerDelegate 协议。
##用户权限
在使用 Speech 框架进行语音识别之前,你必须先请求用户许可,原因是识别不仅发生在 iOS 设备本地,还需要依赖 Apple 的服务器。具体来说,所有音频数据都会被传输到苹果后台进行处理。因此需要获取用户的权限,其中包括用户必须允许应用使用的音频输入和语音识别权限。
//用于apple语言识别的变量
private let speechRecognizer = SFSpeechRecognizer(locale: Locale.init(identifier: "z