iOS10苹果开放了语音识别接口,这让我们可以自己自由的把音频转为文本了。iOS的语音识别主要分为识别音频文件和识别音频缓存(按我的理解就是识别音频输入流达到实时转换的效果)。
因为iOS10对权限的要求更严格了所以在一切的工作之前我们要在info.plist文件里面增加两个节点。第一个节点:
key: Privacy - Speech Recognition Usage Description value:语音识别(这个值可以自定义,需要你描述Speech Recognition的用法)
第二个节点:
key: Privacy - Microphone Usage Description value:麦克风(这个值也是自定义的,同样是用来描述Microphone的用法的)
下面我们看看怎么识别音频文件:
首先我们要请求权限,
+ (void)requestAuthorization:(void(^)(SFSpeechRecognizerAuthorizationStatus status))handler
这个方法是SFSpeechRecognizer的类方法,SFSpeechRecognizerAuthorizationStatus是个枚举类型表示请求权限的结果,只有当status的值是SFSpeechRecognizerAuthorizationStatusAuthorized时才表示有使用语音识别的权限,增枚举类型的其他三个成员值分别是:
用户未决定SFSpeechRecognizerAuthorizationStatusNotDetermined、
拒绝SFSpeechRecognizerAuthorizationStatusDenied、
不支持SFSpeechRecognizerAuthorizationStatusRestricted
看代码:
//请求权限
[SFSpeechRecognizer requestAuthorization:^(SFSpeechRecognizerAuthorizationStatus status) {
if (status == SFSpeechRecognizerAuthorizationStatusAuthorized) {