iOS EVS SDK
说明
EVS SDK For iOS 是根据iFLYOS EVS协议为基础的语音助手SDK库,适用于iOS系统,它使用Objective-C开发语言,能方便接入oc和swift项目中。
要求
SDK版本 | 最小iOS版本 | xcode版本 |
1.X.X | iOS 10.1 | xcode 10.2 |
安装
静态库引入
引入SDK
- 把libEvsSDKForiOS.a 和 include拖到工程
- target->build settings->Library Search Paths 设置SDK静态库路径
- target->build settings->Header Search Paths 设置头文件路径
- 若提示bitcode错误,则在buid settings搜索Enable Bitcode,然后设置为NO
- Other Linker Flags -> -ObjC
依赖库
头文件引入
cocoapods
构建
详细EVS协议请到:EVS API v1介绍 (opens new window)
协议类
protocol
- EVSBaseProtocolModel.h(协议基类,含iflyos_header,iflyos_context)
- EVSRecognizer.h (recognizer.audio_in,recognizer.text_in)
- EVSAudioPlayer.h(audio_player.playback.progress_sync,audio_player.playback.control_command,)
- EVSAudioPlayerTTS.h(audio_player.tts.text_in,audio_player.tts.progress_sync)
- EVSSystemException.h(system.exception,)
- EVSSystemStateSync.h(system.state_sync)
- EVSResponseModel.h(响应映射类)
播放器
- AudioInput.h(音频输入)
- AudioOutput.h(音频输出)
- AudioOutputQueue.h(音频播放队列)
系统管理
授权连接
用法
调用
1.连接 connect
参数 | 类型 | 说明 | 备注 |
- | - | 连接EVS | 未授权情况下会要求先获取授权 |
2. 重连接 reconnect
3. 断开连接disconnect
4. 出厂化 restoreEVS
参数 | 类型 | 说明 | 备注 |
- | - | 出厂化EVS SDK | 慎用,会清除设备所有的数据,需要调用recreateEVS重新创建实例或重新启动 (调用后,若需要马上设置新的参数,则调用recreateEVS:deviceId:wsURL) |
5. 唤醒 tap
6.结束 end
参数 | 类型 | 说明 | 备注 |
- | - | 结束对话 | 不使用云端VAD情况下,需要手工结束对话 |
7.打断 cancel
参数 | 类型 | 说明 | 备注 |
- | - | 打断对话 | 打断后需要重新唤醒 |
8. 暂停播放 pause
9. 恢复播放 resume
10. 下一首 next
11. 上一首 previous
12.合成 tts
参数 | 类型 | 说明 | 备注 |
message | string | 合成TTS | |
13.文本识别 text_in
参数 | 类型 | 说明 | 备注 |
message | string | 文本audio_in | |
14. 设置音量 setVolume/getVolume
参数 | 类型 | 说明 | 备注 |
设置/获取音量 | int | 文本audio_in | 1~100 |
15. 自定义指令 command
参数 | 类型 | 说明 | 备注 |
jsonStr | string | 自定义指令扩展 | json字符串 |
16.设置setToken
参数 | 类型 | 说明 | 备注 |
token | string | 自定义token | 手工设置token后,需要重新连接EVS |
回调
EvsSDKDelegate
函数名 | 参数 | 说明 | 备注 |
evs:isAuth:errorCode:error: | * isAuth:是否授权成功 * errorCode : 错误代码 (0:没错误) * error : 错误原因 | EVS授权状态回调 | |
evs:connectState:error | * connectState : 连接状态 * error : 错误原因 | EVS连接状态回调 | |
evs:volume: | * volume : 音量(1~100) | EVS当前音量回调 | |
evs:requestMsg: | * requestMsg : 请求回调JSON指令 | EVS请求回调 | |
evs:responseMsg: | * responseMsg : 响应回调JSON指令 | EVS响应回调 | |
evs:decibel: | * decibel : 分贝数 | EVS录音分贝回调 | |
evs:progress: | * progress : 进度(百分比) | 播放器进度 | 只对音乐进度进行计算 |
evs:status: | * status : SDK状态 | 对话状态 | IDLE = 0, //空闲 LISTENING = 1, //录音中 THINKING = 2, //响应中 SPEAKING = 3, //播放中 FINISHED = 4 //播放完毕 |
开源协议
iFLYOS开放平台服务协议 (opens new window)