# 评测对象(USCRecognizer)

# 获取SDK版本号

函数原型
+ (NSString*)version;

# 创建单例对象

函数原型
+ (instancetype)sharedManager;

说明

该函数从2.20.13版本开始支持。 代替之前的(id)init 函数

# 创建对象(混合识别引擎、离线引擎)

函数原型
+ (instancetype)sharedManagerWithSource:(NSString *)sourcePath;
参数

名称 描述
sourcePath 离线引擎的资源文件路径(详细使用方法参考附带demo)

说明

该函数从2.20.13版本开始支持。代替之前的(id)initWithSource:(NSString *)sourcePath;

# 设置评测文本

函数
@property (nonatomic, strong) NSString *oralText;
参数

名称 描述
oralText 口语评测的文本

# 设置代理

函数
@property (nonatomic, assign) id USCRecognizerDelegate delegate;
参数

名称 描述
delegate 口语评测回调接口

# 设置评测模式

函数
@property (nonatomic, strong) NSString *oralTask;
参数

名称 描述
oralTask 评测模式

# 设置音频格式

函数
@property (nonatomic, assign) AudioType audioType;
参数

名称 描述
audioType 回调的音频数据格式
使用枚举AudioType进行赋值,默认为AudioTypePCM

# 设置评测语言类型(默认是英文:LanguageType_en)

函数
@property (nonatomic, assign)LanguageType languageType;
参数

名称 描述
languageType 评测的语言类型
使用枚举LanguageType进行赋值,默认为LanguageType_en

# 设置延时评测

函数
@property (nonatomic, assign) BOOL asyncRecognize;
参数

名称 描述
asyncRecognize 是否启用延时评测。
启用后评测结束时会触发回调:-(void)onAsyncRecognize:(NSString *)url;使用url即可随时获取对应评测的结果。
默认值为:NO,不启用

# vad控制参数

函数
@property (nonatomic, assign) BOOL vadControl;
参数

名称 描述
vadControl 是否启用vad。
启用后- (void)setVadFrontTimeout:(int)frontTime backTimeout:(int)backTime;函数设置的参数生效。
默认值为:NO,不启用

# 是否启用备份机制

函数
@property (nonatomic, assign) BOOL backupEnable;
参数

名称 描述
backupEnable 是否启用备份机制,混合模式不开启(默认为YES开启)

# 在混合模式下只使用在线评测

函数
@property (nonatomic, assign) BOOL isOnlineWhenMix;
参数

名称 描述
isOnlineWhenMix 设置是否仅适用在线模式评测

说明

  1. 该函数仅在离在线混合模式下生效。
  2. 默认不开启,设置只对单次评测有效。

# 设置获取评测结果的等待时间

函数
@property (nonatomic, assign) NSTimeInterval getResultTimeout;
参数

名称 描述
getResultTimeout 设置获取评测结果的等待时间。
如果有值,则socket评测和http评测的timeOut的时间设置为getResultTimeout的值。

# 开始评测

函数
- (void)start;
说明

  1. 调用start方法后,引擎会启动线程,开始录音。
  2. 如果调用start出现错误,会回调onEndOral方法,通知启动测评失败。
  3. 已添加生命周期保护,重复调用无效,可通过monitoringLifecycle函数监听是否调用成功。

# 停止评测

函数
- (void)stop;
说明

  1. 调用stop方法后,引擎会停止录音,然后等待服务器返回测评结果。
  2. 测评结束或出现错误,会回调onEndOral方法进行通知。
  3. 已添加生命周期保护,重复调用无效,可通过monitoringLifecycle函数监听是否调用成功。

# 取消测评

函数
- (void)cancel;
说明

  1. 调用cancel方法后,放弃当前测评,所有接口函数不再回调。
  2. 如果正在识别过程中,应用被切换到后台,建议调用cancel方法。
  3. 已添加生命周期保护,重复调用无效,可通过monitoringLifecycle函数监听是否调用成功。

# 读取pcm格式的音频文件进行识别

函数
- (void)startWithPCM:(NSString *)path;
参数

名称 描述
path pcm文件的路径(本地文件路径)

说明

  1. 该方法是使用pcm格式的音频文件启动识别。
  2. startWithPCM与start方法使用场景不同,单次识别过程中只能择其一调用。
  3. 已添加生命周期保护,重复调用无效,可通过monitoringLifecycle函数监听是否调用成功。

# 设置vad前置端点和后置端点的静音时间

函数
- (void)setVadFrontTimeout:(int)frontTime
backTimeout:(int)backTime;
参数

名称 描述
frontTime 前置端点(单位:ms),默认 3000
backTime 后置端点(单位:ms),默认 1000

说明

  1. VAD(Voice Activity Detection):语音端点检测,语音边界检测,是指在噪声环境中检测语音存在与否。
  2. 前置端点和后置端点分别对应的一段音频中语音开始和结束的位置。
  3. 使用该接口,可以实现语音录入自动结束功能(具体用法参见Demo),并根据需求控制精准度。

# 设置设备唯一标识

函数
- (void)setIdentifier:(NSString *)identifier;
参数

名称 描述
identifier 设备唯一标识(默认使用identifierForVendor)

# 设置打分系数

函数
- (void)setOutScoreCoefficient:(float)score;
参数

名称 描述
score 设置打分系数(取值范围 : 0.6 ~ 1.9)0.6最严谨 1.0默认值 1.9最宽松

# 混合模式下设置离线结果等待时长

函数
- (void)setOfflineResultWaitingTime:(NSTimeInterval)time;
参数

名称 描述
time 等待时长,默认为1.0秒

说明

  1. 该函数仅在离在线混合模式下生效。
  2. 设置离线结果等待时长(离在线混合模式下离线评测结果等待在线评测结果的时长)。

# 缓存opus音频文件重新评测

函数
- (void)retryWithFilePath:(NSString* )filePath;
参数

名称 描述
filePath 缓存录音文件的存储路径。该函数当录音完成且评测出错的时候,重新用本地保存的opus文件使用http评测重试一次

说明

  1. 该函数仅在start、stop录音完成后才能调用否则会报“50002”错误。
  2. retry只提供http方式评测。
  3. SDK中对评测流程做了保护,请注意返回的错误码(在onEndOral回调中返回)。
  4. 评测结果通过onResult返回结果。

# 更换Http评测地址

函数
- (void)changeHttpIp:(NSString* )ipStr;
参数

名称 描述
ipStr http评测地址对应字符串,包含端口号,2.20.4版本开始采用https协议

说明

  1. 如无必要无需更改使用默认ip即可。

# 修改私有协议方法ip地址和端口号

函数
-(void)setPrivateEvaluatingWithServer:(NSString*)server Port:(NSString* )port;
参数

名称 描述
server 修改的私有协议的ip地址
port 修改的私有协议的ip地址的端口

说明

  1. 如无必要无需更改使用默认ip和端口即可。

# 设置Http评测Host

函数
- (void)setHttpHostValue:(NSString* )value;
参数

名称 描述
value Ip地址对应的字符串

说明

  1. 如无必要无需更改。

# 评测代理(USCRecognizerDelegate)

# 引擎初始化结束(混合识别引擎、离线引擎)

函数
- (void)oralEngineDidInit:(NSError *)error;
参数

名称 描述
error 初始化相关错误信息

说明

  1. error为nil,表示初始化正常,否则表示出现了错误。
  2. NSError中的code表示错误码,domain表示错误信息的描述,详见错误码

# 开始回调

函数
- (void)onBeginOral;
说明

  1. 录音启动成功后,回调此方法。
  2. 如果录音没有启动完成就开始说话,会导致语音前半部分被截断,建议调用start方法后,播放一个初始化的动画,然后在onBeginOral方法中关闭此动画,再提示用户开始说话。

# 结束回调

函数
- (void)onStopOral;
说明

  1. 调用stop函数时,回调此方法。

# 结果回调

函数
- (void)onResult:(NSString *)result isLast:(BOOL)isLast;
参数

名称 描述
result 测评结果
isLast YES表示最后一次结果,NO表示结果未取完

说明

  1. 引擎采用边录音边处理的方式,可能会多次回调此方法。
  2. 建议用户在此接口中将数据保存起来,然后在onEndOral中进行下一步处理。

# 结束回调

函数
- (void)onEndOral:(NSError *)error;
参数

名称 描述
error 测评错误信息

说明

  1. onEndOral为nil,表示测评正常,否则表示出现了错误。
  2. NSError中的code表示错误码,domain表示错误信息的描述。详见错误码

# VAD超时回调

函数
- (void)onVADTimeout;
说明

  1. 录音过程中,如果用户间隔一段时间没有说话,会回调此方法。
  2. 建议在此方法中调用stop。

# 音量大小回调

函数
- (void)onUpdateVolume:(int)volume;
参数

名称 描述
volume 音量大小

说明

  1. 录音过程中会不断的回调此方法,实时返回音量大小,范围为0~100。
  2. 用户可以根据volume的大小来实现动画效果。

# 录音数据回调

函数
- (void)onRecordingBuffer:(NSData *)recordingData;
参数

名称 描述
recordingData 录音数据

说明

  1. 数据格式为128bit、16k采样、立体声MP3或16bit、16k采样、单声道PCM,可使用audioType进行配置设置音频格式
  2. 录音过程中此方法会不停地回调,数据存放在recordingData中。

# opus录音数据回调

函数
- (void)onRecordingOpusBuffer:(NSData* )opusData;
参数

名称 描述
opusData 录音数据opus编码后返回的buffer

说明

  1. 这里返回的opus音频数据仅能retry时使用。
  2. 录音过程中此方法会不停地回调,需要在应用层自行存储以便retry是使用。

# 获取录音数据url(混合识别引擎、在线引擎)

函数
- (void)audioFileDidRecord:(NSString *)url;
参数

名称 描述
url 存储在云端的录音数据的url

说明

  1. 在识别结束后回调该方法,可使用该url获取存储在云端的录音数据。
  2. 该方法只在在线引擎和混合识别引擎中生效,无网络情况下调用离线评测无法获取到url。

# 延时评测结果回调

函数
- (void)onAsyncResult:(NSString *)url;
参数

名称 描述
url 存储在服务器的识别结果

说明

  1. 该方法只在在线引擎开启延时评测时回调。

# 监听生命周期函数

函数
- (void)monitoringLifecycle:(int)lifecycle Error:(NSError* )error;
参数

名称 描述
Lifecycle 生命周期正常时打印生命周期
error 生命周期异常时抛出error,正常时为nil

说明

该函数是从2.20.13增加,对当前SDK的评测状态进行监控。

具体状态码请说明参照生命周期状态码