SFSpeechRecognizer是iOS10新特性之一,用來進行語音識別的。
1、使用前需要導入頭文件
import Speech2、設置請求權限
//請求權限 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、初始化請求
//path 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 UIKitimport Speechclass 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")) //path 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) } }) }}新聞熱點
疑難解答