iOS 微信语音SDK 简单使用

可参考微信语音SDK(iOS 版)上手指南 

一、工程配置

1.首先将SDK文件添加到项目中

WXVoiceSDK.h    //语音识别

WXSpeechSynthesizer.h    //语音合成

libWXVoiceSDK.a   //库文件(必选)

WXSpeechRecognizerWithUI.h   //语音识别+UI

WXResourceBundle.bundle   //UI资源

2. 引入系统库

AudioToolbox.framework

SystemConfiguration.framework

CoreTelephony.framework

AVFoundation.framework 

libz.dylib

3.设置Build Settings

C++ Standard Library: libstdc++ (GNU C++ standard library)

这里要选择libstdc++ (GNU C++ standard library),选择其他的可能会编译报错,

同时系统自动添加了 Social.framework 和 libc++.tbd,若没有手动添加。

 将一个.m文件的扩展名改为.mm。

二、语音识别SDK调用流程

1.在这里,我只使用了语音识别的功能,引入头文件


#import "WXVoiceSDK.h"

2.初始化设置:

- (void)WXVoiceInit{

    WXVoiceSDK * speechRecognizer = [WXVoiceSDK sharedWXVoice];

    speechRecognizer.delegate = self;

    speechRecognizer.silTime = 0.5f;

    // 测试码: 248b63f1ceca9158ca88516bcb338e82a482ecd802cbca12

    [speechRecognizer setUserKey:@"248b63f1ceca9158ca88516bcb338e82a482ecd802cbca12"]; //48位认证码

}

3.遵守WXVoiceDelegate协议,实现以下方法;

//识别成功,返回结果,元素类型为WXVoiceResult,现阶段数组内只有一个元素

- (void)voiceInputResultArray:(NSArray *)array{

    if (array && array.count > 0) {

    WXVoiceResult * result = [array objectAtIndex:0];

    NSLog(@"识别结果:%@",result.text);

    self.messageLabel.text = [NSString stringWithFormat:@"识别结果:%@",result.text];

   [[WXVoiceSDK sharedWXVoice]cancel];

   }

}

//出现错误,错误码请参见官方网站 错误码说明

- (void)voiceInputMakeError:(NSInteger)errorCode{

    switch (errorCode) {

        case WXErrorOfSuccess:

        NSLog(@"识别成功");

             break;

       case WXErrorOfNoNetWork:

       NSLog(@"没有网络");

             break;

       case WXErrorOfTimeOut:

       NSLog(@"网络超时");

            break;

       case WXErrorOfQuotaExhaust:

       NSLog(@"AppID配额用完");

            break;

       case WXErrorOfAppIDError:

        NSLog(@"AppID错误");

            break;

       case WXVoiceRecoErrorOfNoSound:

       NSLog(@"没有获取到录音");

            break;

        case WXVoiceRecoErrorOfVoiceTooLarge: 

        NSLog(@"录音过长");

            break;

        case WXVoiceRecoErrorOfRecord:

        NSLog(@"没有录音设备");

            break;

        case WXVoiceRecoErrorOfCannotUseMic:

        NSLog(@"无法使用mic");

            break;

        default:

        break;

    }

}

//录音完成,等待服务器返回识别结果。此时不会再接受新的语音

- (void)voiceInputWaitForResult{

}

//在手动调用的cancel后,取消完成时回调

- (void)voiceInputDidCancel{

}

4.点击开始按钮时,实现下面的方法

- (void)start:(UIButton *)button{

     button.selected = !button.selected;

     if (button.selected) {

          self.messageLabel.text = @"正在识别中,请说话...";

         [[WXVoiceSDK sharedWXVoice]startOnce];

         [button setTitle:@"结束" forState:UIControlStateNormal];

     }

     else{

          [[WXVoiceSDK sharedWXVoice]finish];

          [button setTitle:@"开始" forState:UIControlStateNormal];

     } 

}

你可能感兴趣的:(iOS 微信语音SDK 简单使用)