ios-语音识别
hyutech 发布于2017-04 浏览:1844 回复:5
0
收藏
快速回复

我使用的服务是:

调用的接口是:

参数设置情况:

开发平台和机型:

SDK版本号:

代码或日志截图(上传截图能帮助您更快解决问题):

复现步骤、现象及其他描述:语音识别 [[BDVoiceRecognitionClient sharedInstance] setNeedVadFlag:NO]的情况下,一分钟左右进入EVoiceRecognitionClientErrorStatusClassVDP的错误状态EVoiceRecognitionClientErrorStatusException  // 语音前端库检测异常     怎么解决

收藏
点赞
0
个赞
共5条回复 最后由用户已被禁言回复于2022-04
#6chenxiaoyu3回复于2017-04

hyutech:

回复chenxiaoyu3:请问现在最新的sdk还是2015年的那个吗??

回复hyutech:近期即将发布新版iOS SDK

0
#5hyutech回复于2017-04

chenxiaoyu3:

回复hyutech:

可能需要更多信息定位问题。你可以先参考一下iOS语音识别的Demo工程中BDVRCustomRecognitonViewController中与之类似的流程处理办法。

回复chenxiaoyu3:请问现在最新的sdk还是2015年的那个吗??

0
#4chenxiaoyu3回复于2017-04

hyutech:

- (void)startVoiceRecognitionAction
{
    // 启动语音识别
    [[BDVoiceRecognitionClient sharedInstance] setApiKey:API_KEY withSecretKey:SECRET_KEY];
    [[BDVoiceRecognitionClient sharedInstance] setNeedVadFlag:NO];
    [[BDVoiceRecognitionClient sharedInstance] setResourceType:0];
    [[BDVoiceRecognitionClient sharedInstance] setLanguage:0];
    int startStatus = -1;
    startStatus = [[BDVoiceRecognitionClient sharedInstance] startVoiceRecognition:self];
    if (startStatus != EVoiceRecognitionStartWorking)
    {
        // 处理启动出错
    }
}

这样启动之后,

// 实现委托
- (void)VoiceRecognitionClientErrorStatus:(int) aStatus subStatus:(int)aSubStatus
{
    // 处理出错
//    [self stopVoiceRecognitionAction];
//    [self startVoiceRecognitionAction];
}
- (void)VoiceRecognitionClientWorkStatus:(int)aStatus obj:(id)aObj
{
    //处理网络状态变化
//    NSLog(@"%d",aStatus);
//    NSString *str ;
    switch (aStatus)
    {
        case EVoiceRecognitionClientWorkStatusFlushData: // 连续上屏中间结果
        {
//            NSString *text = [aObj objectAtIndex:0];
//            
//            if ([text length] > 0)
//            {
//                str = text;
//            }
//            break;
        }
        case EVoiceRecognitionClientWorkStatusFinish: // 识别正常完成并获得结果
        {
            
//            NSString *tmpString = [[BDVRSConfig sharedInstance] composeInputModeResult:aObj];
//            str = tmpString;
//            
//            break;
        }
        case 14:{
        }
    }
//    NSLog(@"%@",str);
//    if(str.length >=3){
//        for (NSString *keyword in [UserClient sharedUserClient].keywordArray) {
//            if([str containsString:keyword]){
//                [self stopVoiceRecognitionAction];
//                AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);
//                if(SharedAppDelegate.isBackGround){
//                    [self.startHelppingCommand execute:nil];
//                    NSString * url = [NSString stringWithFormat:@"%@?start=%@",
//                                      URL_CallHelpViewController,@"isStart"];
//                    [self.viewController pushViewControllerWithUrl:url];
//                }else{
//                    [self.callHelpUpInsideCommand execute:nil];
//                }
//            }
//        }
//    }
}

代码注视掉之后,1分钟左右就会进入出错的代理

回复hyutech:

可能需要更多信息定位问题。你可以先参考一下iOS语音识别的Demo工程中BDVRCustomRecognitonViewController中与之类似的流程处理办法。

0
#3hyutech回复于2017-04

- (void)startVoiceRecognitionAction
{
    // 启动语音识别
    [[BDVoiceRecognitionClient sharedInstance] setApiKey:API_KEY withSecretKey:SECRET_KEY];
    [[BDVoiceRecognitionClient sharedInstance] setNeedVadFlag:NO];
    [[BDVoiceRecognitionClient sharedInstance] setResourceType:0];
    [[BDVoiceRecognitionClient sharedInstance] setLanguage:0];
    int startStatus = -1;
    startStatus = [[BDVoiceRecognitionClient sharedInstance] startVoiceRecognition:self];
    if (startStatus != EVoiceRecognitionStartWorking)
    {
        // 处理启动出错
    }
}

这样启动之后,

// 实现委托
- (void)VoiceRecognitionClientErrorStatus:(int) aStatus subStatus:(int)aSubStatus
{
    // 处理出错
//    [self stopVoiceRecognitionAction];
//    [self startVoiceRecognitionAction];
}
- (void)VoiceRecognitionClientWorkStatus:(int)aStatus obj:(id)aObj
{
    //处理网络状态变化
//    NSLog(@"%d",aStatus);
//    NSString *str ;
    switch (aStatus)
    {
        case EVoiceRecognitionClientWorkStatusFlushData: // 连续上屏中间结果
        {
//            NSString *text = [aObj objectAtIndex:0];
//            
//            if ([text length] > 0)
//            {
//                str = text;
//            }
//            break;
        }
        case EVoiceRecognitionClientWorkStatusFinish: // 识别正常完成并获得结果
        {
            
//            NSString *tmpString = [[BDVRSConfig sharedInstance] composeInputModeResult:aObj];
//            str = tmpString;
//            
//            break;
        }
        case 14:{
        }
    }
//    NSLog(@"%@",str);
//    if(str.length >=3){
//        for (NSString *keyword in [UserClient sharedUserClient].keywordArray) {
//            if([str containsString:keyword]){
//                [self stopVoiceRecognitionAction];
//                AudioServicesPlaySystemSound (kSystemSoundID_Vibrate);
//                if(SharedAppDelegate.isBackGround){
//                    [self.startHelppingCommand execute:nil];
//                    NSString * url = [NSString stringWithFormat:@"%@?start=%@",
//                                      URL_CallHelpViewController,@"isStart"];
//                    [self.viewController pushViewControllerWithUrl:url];
//                }else{
//                    [self.callHelpUpInsideCommand execute:nil];
//                }
//            }
//        }
//    }
}

代码注视掉之后,1分钟左右就会进入出错的代理

0
#2chenxiaoyu3回复于2017-04

请具体描述一下问题的复现步骤;


载入以后,什么都不做,等一分钟之后,直接进入错误吗?

0
TOP
切换版块