- ···
- 产品服务
- ···
- 解决方案
- ···
- 文档中心
- ···
# 评测对象(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 | 设置是否仅适用在线模式评测 |
说明
- 该函数仅在离在线混合模式下生效。
- 默认不开启,设置只对单次评测有效。
# 设置获取评测结果的等待时间
函数
@property (nonatomic, assign) NSTimeInterval getResultTimeout;
参数
名称 | 描述 |
---|---|
getResultTimeout | 设置获取评测结果的等待时间。 如果有值,则socket评测和http评测的timeOut的时间设置为getResultTimeout的值。 |
# 开始评测
函数
- (void)start;
说明
- 调用start方法后,引擎会启动线程,开始录音。
- 如果调用start出现错误,会回调onEndOral方法,通知启动测评失败。
- 已添加生命周期保护,重复调用无效,可通过monitoringLifecycle函数监听是否调用成功。
# 停止评测
函数
- (void)stop;
说明
- 调用stop方法后,引擎会停止录音,然后等待服务器返回测评结果。
- 测评结束或出现错误,会回调onEndOral方法进行通知。
- 已添加生命周期保护,重复调用无效,可通过monitoringLifecycle函数监听是否调用成功。
# 取消测评
函数
- (void)cancel;
说明
- 调用cancel方法后,放弃当前测评,所有接口函数不再回调。
- 如果正在识别过程中,应用被切换到后台,建议调用cancel方法。
- 已添加生命周期保护,重复调用无效,可通过monitoringLifecycle函数监听是否调用成功。
# 读取pcm格式的音频文件进行识别
函数
- (void)startWithPCM:(NSString *)path;
参数
名称 | 描述 |
---|---|
path | pcm文件的路径(本地文件路径) |
说明
- 该方法是使用pcm格式的音频文件启动识别。
- startWithPCM与start方法使用场景不同,单次识别过程中只能择其一调用。
- 已添加生命周期保护,重复调用无效,可通过monitoringLifecycle函数监听是否调用成功。
# 设置vad前置端点和后置端点的静音时间
函数
- (void)setVadFrontTimeout:(int)frontTime
backTimeout:(int)backTime;
参数
名称 | 描述 |
---|---|
frontTime | 前置端点(单位:ms),默认 3000 |
backTime | 后置端点(单位:ms),默认 1000 |
说明
- VAD(Voice Activity Detection):语音端点检测,语音边界检测,是指在噪声环境中检测语音存在与否。
- 前置端点和后置端点分别对应的一段音频中语音开始和结束的位置。
- 使用该接口,可以实现语音录入自动结束功能(具体用法参见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秒 |
说明
- 该函数仅在离在线混合模式下生效。
- 设置离线结果等待时长(离在线混合模式下离线评测结果等待在线评测结果的时长)。
# 缓存opus音频文件重新评测
函数
- (void)retryWithFilePath:(NSString* )filePath;
参数
名称 | 描述 |
---|---|
filePath | 缓存录音文件的存储路径。该函数当录音完成且评测出错的时候,重新用本地保存的opus文件使用http评测重试一次 |
说明
- 该函数仅在start、stop录音完成后才能调用否则会报“50002”错误。
- retry只提供http方式评测。
- SDK中对评测流程做了保护,请注意返回的错误码(在onEndOral回调中返回)。
- 评测结果通过onResult返回结果。
# 更换Http评测地址
函数
- (void)changeHttpIp:(NSString* )ipStr;
参数
名称 | 描述 |
---|---|
ipStr | http评测地址对应字符串,包含端口号,2.20.4版本开始采用https协议 |
说明
- 如无必要无需更改使用默认ip即可。
# 修改私有协议方法ip地址和端口号
函数
-(void)setPrivateEvaluatingWithServer:(NSString*)server Port:(NSString* )port;
参数
名称 | 描述 |
---|---|
server | 修改的私有协议的ip地址 |
port | 修改的私有协议的ip地址的端口 |
说明
- 如无必要无需更改使用默认ip和端口即可。
# 设置Http评测Host
函数
- (void)setHttpHostValue:(NSString* )value;
参数
名称 | 描述 |
---|---|
value | Ip地址对应的字符串 |
说明
- 如无必要无需更改。
# 评测代理(USCRecognizerDelegate)
# 引擎初始化结束(混合识别引擎、离线引擎)
函数
- (void)oralEngineDidInit:(NSError *)error;
参数
名称 | 描述 |
---|---|
error | 初始化相关错误信息 |
说明
- error为nil,表示初始化正常,否则表示出现了错误。
- NSError中的code表示错误码,domain表示错误信息的描述,详见错误码。
# 开始回调
函数
- (void)onBeginOral;
说明
- 录音启动成功后,回调此方法。
- 如果录音没有启动完成就开始说话,会导致语音前半部分被截断,建议调用start方法后,播放一个初始化的动画,然后在onBeginOral方法中关闭此动画,再提示用户开始说话。
# 结束回调
函数
- (void)onStopOral;
说明
- 调用stop函数时,回调此方法。
# 结果回调
函数
- (void)onResult:(NSString *)result isLast:(BOOL)isLast;
参数
名称 | 描述 |
---|---|
result | 测评结果 |
isLast | YES表示最后一次结果,NO表示结果未取完 |
说明
- 引擎采用边录音边处理的方式,可能会多次回调此方法。
- 建议用户在此接口中将数据保存起来,然后在onEndOral中进行下一步处理。
# 结束回调
函数
- (void)onEndOral:(NSError *)error;
参数
名称 | 描述 |
---|---|
error | 测评错误信息 |
说明
- onEndOral为nil,表示测评正常,否则表示出现了错误。
- NSError中的code表示错误码,domain表示错误信息的描述。详见错误码。
# VAD超时回调
函数
- (void)onVADTimeout;
说明
- 录音过程中,如果用户间隔一段时间没有说话,会回调此方法。
- 建议在此方法中调用stop。
# 音量大小回调
函数
- (void)onUpdateVolume:(int)volume;
参数
名称 | 描述 |
---|---|
volume | 音量大小 |
说明
- 录音过程中会不断的回调此方法,实时返回音量大小,范围为0~100。
- 用户可以根据volume的大小来实现动画效果。
# 录音数据回调
函数
- (void)onRecordingBuffer:(NSData *)recordingData;
参数
名称 | 描述 |
---|---|
recordingData | 录音数据 |
说明
- 数据格式为128bit、16k采样、立体声MP3或16bit、16k采样、单声道PCM,可使用audioType进行配置设置音频格式。
- 录音过程中此方法会不停地回调,数据存放在recordingData中。
# opus录音数据回调
函数
- (void)onRecordingOpusBuffer:(NSData* )opusData;
参数
名称 | 描述 |
---|---|
opusData | 录音数据opus编码后返回的buffer |
说明
- 这里返回的opus音频数据仅能retry时使用。
- 录音过程中此方法会不停地回调,需要在应用层自行存储以便retry是使用。
# 获取录音数据url(混合识别引擎、在线引擎)
函数
- (void)audioFileDidRecord:(NSString *)url;
参数
名称 | 描述 |
---|---|
url | 存储在云端的录音数据的url |
说明
- 在识别结束后回调该方法,可使用该url获取存储在云端的录音数据。
- 该方法只在在线引擎和混合识别引擎中生效,无网络情况下调用离线评测无法获取到url。
# 延时评测结果回调
函数
- (void)onAsyncResult:(NSString *)url;
参数
名称 | 描述 |
---|---|
url | 存储在服务器的识别结果 |
说明
- 该方法只在在线引擎开启延时评测时回调。
# 监听生命周期函数
函数
- (void)monitoringLifecycle:(int)lifecycle Error:(NSError* )error;
参数
名称 | 描述 |
---|---|
Lifecycle | 生命周期正常时打印生命周期 |
error | 生命周期异常时抛出error,正常时为nil |
说明
该函数是从2.20.13增加,对当前SDK的评测状态进行监控。
具体状态码请说明参照生命周期状态码