服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - IOS - IOS开发第三方语音-微信语音

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

2020-12-23 15:16幻想无极 IOS

微信语音开放平台致力于为开发者提供免费的语音技术,目前已经开放的语音技术包括在线语音识别、在线语音合成等,下面通过本篇文章给大家介绍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.添加代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#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开发第三方语音-微信语音

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

?
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
//
// 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开发第三方语言-微信语言的全部介绍,希望对大家有所帮助。

延伸 · 阅读

精彩推荐
  • IOSiOS 雷达效果实例详解

    iOS 雷达效果实例详解

    这篇文章主要介绍了iOS 雷达效果实例详解的相关资料,需要的朋友可以参考下...

    SimpleWorld11022021-01-28
  • IOS关于iOS自适应cell行高的那些事儿

    关于iOS自适应cell行高的那些事儿

    这篇文章主要给大家介绍了关于iOS自适应cell行高的那些事儿,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    daisy6092021-05-17
  • IOSIOS 屏幕适配方案实现缩放window的示例代码

    IOS 屏幕适配方案实现缩放window的示例代码

    这篇文章主要介绍了IOS 屏幕适配方案实现缩放window的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要...

    xiari5772021-06-01
  • IOS解析iOS开发中的FirstResponder第一响应对象

    解析iOS开发中的FirstResponder第一响应对象

    这篇文章主要介绍了解析iOS开发中的FirstResponder第一响应对象,包括View的FirstResponder的释放问题,需要的朋友可以参考下...

    一片枫叶4662020-12-25
  • IOSiOS布局渲染之UIView方法的调用时机详解

    iOS布局渲染之UIView方法的调用时机详解

    在你刚开始开发 iOS 应用时,最难避免或者是调试的就是和布局相关的问题,下面这篇文章主要给大家介绍了关于iOS布局渲染之UIView方法调用时机的相关资料...

    windtersharp7642021-05-04
  • IOSiOS通过逆向理解Block的内存模型

    iOS通过逆向理解Block的内存模型

    自从对 iOS 的逆向初窥门径后,我也经常通过它来分析一些比较大的应用,参考一下这些应用中某些功能的实现。这个探索的过程乐趣多多,不仅能满足自...

    Swiftyper12832021-03-03
  • IOSiOS中tableview 两级cell的展开与收回的示例代码

    iOS中tableview 两级cell的展开与收回的示例代码

    本篇文章主要介绍了iOS中tableview 两级cell的展开与收回的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    J_Kang3862021-04-22
  • IOSIOS开发之字典转字符串的实例详解

    IOS开发之字典转字符串的实例详解

    这篇文章主要介绍了IOS开发之字典转字符串的实例详解的相关资料,希望通过本文能帮助到大家,让大家掌握这样的方法,需要的朋友可以参考下...

    苦练内功5832021-04-01