IOS开发第三方语音-微信语音

   2015-08-19 0
核心提示:微信语音开放平台致力于为开发者提供免费的语音技术,目前已经开放的语音技术包括在线语音识别、在线语音合成等,下面通过本篇文章给大家介绍IOS开发第三方语言-微信语言,需要的朋友可以一起来学习下

微信只能开发平台http://pr.weixin.qq.com/,里面包含了微信语音和图像,集成很简单,下载方demo后会有个文档,按照流程来(因为它只提供了真机的.a文件,所以只能用真机哦,不然会报错)

先用个有UI界面的sdk

1.装上sdk,引入相关包

IOS开发第三方语音-微信语音

2.设置 Build Settings

C++ Standard Library: libstdc++ 或 Compiler Default

Compile Sources As: Objective-C++ 或 将使用 SDK 的文件扩展名改为.mm

IOS开发第三方语音-微信语音

随便把一个文件后缀改成.mm不然会报错

3.添加代码

#import "CustomNewViewControl.h"
#import "WXSpeechRecognizerWithUI.h"
@interface CustomNewViewControl ()<WXVoiceWithUIDelegate> {
  WXSpeechRecognizerWithUI *_wxssui;
  __weak IBOutlet UILabel *label;
}
@property (weak, nonatomic) IBOutlet UIButton *button;
@end
@implementation CustomNewViewControl
- (void)viewDidLoad {
  [super viewDidLoad];
    _wxssui = [[WXSpeechRecognizerWithUI alloc] initWithDelegate:self andUserKey:@"bfcecacabcbeaecdcbca"];
}
//点击事件
- (IBAction)buttonPressed:(UIButton *)sender {
  label.text = @"";
  [_wxssui showAndStart];
}
//代理 WXVoiceWithUIDelegate
- (void)voiceInputResultArray:(NSArray *)array{
  WXVoiceResult *result=[array objectAtIndex:];
  [label setText:result.text];
}

无UI界面的sdk也差不多

注意:使用无界面UI需要遵守以下规则

微信语音开放平台免费为你的应用提供语音识别服务,你可以根据自己的风格自由制定 UI,但需在语音采集识别的窗口正确、完整的标注“Powered by 微信智能”或“语音技术由 微信智能提供”的字样。参考如下弹窗:

IOS开发第三方语音-微信语音

集成和上面一样,就不再重复

//
// ViewController.m
// weixinyuyinwuui
//
// Created by apple on //.
// Copyright (c) 年 tqh. All rights reserved.
//
#import "ViewController.h"
#import "WXVoiceSDK.h"
@interface ViewController ()<WXVoiceDelegate>
@property (weak, nonatomic) IBOutlet UILabel *label;
@property (weak, nonatomic) IBOutlet UIButton *button;
@end
@implementation ViewController
- (void)viewDidLoad {
  [super viewDidLoad];
  // SDK
  WXVoiceSDK *speechRecognizer = [WXVoiceSDK sharedWXVoice];
  //可选设置
  speechRecognizer.silTime = .f;
  //必选设置
  speechRecognizer.delegate = self;
  [speechRecognizer setUserKey:@"bfcecacabcbeaecdcbca"];
}

#pragma mark -----------WXVoiceDelegate------------
- (void)voiceInputResultArray:(NSArray *)array{
  //一旦此方法被回调,array一定会有一个值,所以else的情况不会发生,但写了会更有安全感的
  if (array && array.count>) {
    WXVoiceResult *result=[array objectAtIndex:];
    _label.text = result.text;
  }else{
    _label.text = @"";
  }
}
- (void)voiceInputMakeError:(NSInteger)errorCode{
  _label.text = [NSString stringWithFormat:@"错误:%ld",(long)errorCode];
}
- (void)voiceInputVolumn:(float)volumn{
//  [_speechRecognizerView setVolumn:volumn];
}
- (void)voiceInputWaitForResult{
//  [_speechRecognizerView finishRecorder];
}
- (void)voiceInputDidCancel{
//  [_speechRecognizerView didCancel];
}

#pragma mark - 点击事件
- (IBAction)buttonPressed:(UIButton *)sender {
  sender.selected = !sender.selected;
  if (sender.selected) {
    _label.text = @"录音中...";
    [[WXVoiceSDK sharedWXVoice] startOnce];
    [_button setTitle:@"完成" forState:UIControlStateNormal];
  }else {
    [[WXVoiceSDK sharedWXVoice] finish];
    [_button setTitle:@"录音" forState:UIControlStateNormal];
  }
}
- (IBAction)cancelButtonPressed:(UIButton *)sender {
   [[WXVoiceSDK sharedWXVoice] cancel];
  [_button setTitle:@"录音" forState:UIControlStateNormal];
}
@end

以上就是本文对IOS开发第三方语言-微信语言的全部介绍,希望对大家有所帮助。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行