iOS开发- TencetCloud语音SDK使用指南及问题解决

2020-04-15 14:44:55 浏览数 (1)

项目需求:开发一个可以调用腾讯云语音识别接口的iOS应用

使用 iOS SDK 方式接入,以一句话识别为例,在《腾讯云语音识别iOS SDK 开发代码模块分析》这篇文档中,我们分析了各模块代码的功能。大致对demo里重要文件的功用有了大致的认识。但是对于一些可能会遇到的问题,我们再次分享一下使用中的心得体验。

开发准备

SDK 获取

录音文件识别的 iOS SDK 以及 Demo 的下载地址:QCloud SDK

使用须知

  • QCloudSDK 支持 iOS 9.0 及以上版本。
  • 录音文件识别,需要手机能够连接网络(GPRS、3G 或 Wi-Fi 网络等)。
  • 从控制台获取 AppID、SecretID、SecretKey、ProjectId 。
  • 运行 Demo 必须设置 AppID、SecretID、SecretKey、ProjectId 。
  • 进入 API 密钥管理页面 ,获取 AppID、SecretID 与 SecretKey 。

对于初次使用腾讯云语音识别iOS SDK做开发的同学,可能会遇到以下问题,搜集如下:

1. SDK 导入文件

iOS SDK 压缩包名称为:QCloudSDK_v2.0.7.zip,压缩包中包含 Sample Code 和 QCloudSDK

链接:https://cloud.tencent.com/document/product/1093/35723#QCloudRealTimeRecognizerDelegate

具体流程

1.将在腾讯云语音识别官方下载的SDK拖入到项目工程的文件目录下

注意事项:

加载文件必须是这个目录(上图蓝色阴影) “QCloudSDKDemo_v2.1.3”,或者是其他的版本,重点是要是这个工程,加载了父文件夹或者子文件夹都有可能导致工程的编译失败。

2. 修改QDDefine.h文件,配置好appid和密钥

第二个可能会出错是地方,是在配置配置APPID和密钥文件的时候。

只能在QDDefine.h,只有在这个文件里配置APPID和密钥是有效的。这是一个全局的配置方式。由于官方demo集成度较高,在这里配置身份信息的话,相对保险一些。

3. 配置的时候要输入APPID

第三个可能会出错的地方,是在配置的时候注意要输入的是APPID,而不是账户ID,如果错误的话,竟然也可以调用一句话识别,是因为官方没有设置对一句话识别用户的APPID的限制,但是不能调用其他的两个接口(实时语音识别,文件识别)。报错如下:

需要说明的是腾讯云 API 会对每个访问请求进行身份验证,即每个请求都需要在公共请求参数中包含签名信息(Signature)以验证请求者身份。 签名信息由安全凭证生成,安全凭证包括 SecretId 和 SecretKey;若用户还没有安全凭证,请前往 云API密钥页面 申请,否则无法调用云 API 接口。

3.1. 申请安全凭证

在第一次使用云 API 之前,请前往 云 API 密钥页面 申请安全凭证。 安全凭证包括 SecretId 和 SecretKey:

  • SecretId 用于标识 API 调用者身份
  • SecretKey 用于加密签名字符串和服务器端验证签名字符串的密钥。
  • 用户必须严格保管安全凭证,避免泄露。

申请安全凭证的具体步骤如下:

a. 登录 腾讯云管理中心控制台。

b. 前往 云 API 密钥 的控制台页面.

c. 在 云 API 密钥 页面,单击【新建密钥】即可以创建一对 SecretId/SecretKey。

注意:每个账号最多可以拥有两对 SecretId/SecretKey。

4. 另注:

在工程中添加依赖库,在建阶段链接二进制与库中添加以下库:

§ AVFoundation.framework

§ AudioToolbox.framework

§ QCloudSDK.framework

§ CoreTelephony.framework

§ libWXVoiceSpeex.a

添加方式:右键点击Xcode中的工程文件,在出现的界面中,选中TARGETS中应用,在出现的界面中选中Build Phase->Link Binary With Libraries,点击界面中的“ ”图标,在弹出的界面中选择此 5 个Framework即可,添加完成效果图如图所示。

如果不添加这些依赖库

0 人点赞