SFSpeechRecognizer是iOS10新特性之一,用来进行语音识别的。
1、使用前需要导入头文件
import Speech
2、设置请求权限
//请求权限
SFSpeechRecognizer.requestAuthorization { (state) in
print(state)
}
3、配置info.plist
Privacy - Speech Recognition Usage Description -> “xxx”
4、初始化识别器
let recognizer = SFSpeechRecognizer(locale: Locale(identifier: "zh_CN"))
5、初始化请求
let url = Bundle.main.url(forResource: "bg", withExtension: "mp3")
let request = SFSpeechURLRecognitionRequest(url: url!)
6、开启识别任务
//开始一个识别请求
recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in
if error != nil{
print("识别错误")
return
}
else{
print(result?.bestTranscription.formattedString)
}
})
完成代码:
import UIKit
import Speech
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
SFSpeechRecognizer.requestAuthorization { (state) in
print(state)
}
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let recognizer = SFSpeechRecognizer(locale: Locale(identifier: "zh_CN"))
let url = Bundle.main.url(forResource: "bg", withExtension: "mp3")
let request = SFSpeechURLRecognitionRequest(url: url!)
recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in
if error != nil{
print("识别错误")
return
}
else{
print(result?.bestTranscription.formattedString)
}
})
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39