Crystal 发表于 2014-7-22 19:01:32

ios第二次视频无法打开

第一次连接断开代码:

// 用户视频分辨率改变消息
- (void) OnAnyChatVideoSizeChg:(int) dwUserId : (int) dwWidth : (int) dwHeight
{
   
}
// 用户退出房间消息
- (void) OnAnyChatUserLeaveRoom:(int) dwUserId
{
    if ((dwUserId == _currentUserId || dwUserId == _dwUserId)) {
      ;
    }
   
}

// 网络断开消息
- (void) OnAnyChatLinkClose:(int) dwErrorCode
{
    ;
    //;
   
}

- (void) FinishVideoChat
{
    ;
    ;
   
    ;
    ;
   
    self->iRemoteUserId = -1;
   
    ;
   
    if(self.localVideoSurface){
      self.localVideoSurface = nil;
    }
   
    ;
   
    ;
      
    ;
}


以下为第二次连接log:

2014-07-22 18:56:54.922 PadBotIPad ---------------------------AnyChat Platform Core SDK Client Log---------------------------
2014-07-22 18:56:54.927 PadBotIPad Load libanychatcore.so success!(V5.0 Build Time:Jun 26 2014 10:47:00)
2014-07-22 18:56:54.932 PadBotIPad Load libmediautil.so success!(V5.0 Build Time:Jun 26 2014 10:47:17)
2014-07-22 18:56:54.936 PadBotIPad Load libmediashow.so success!(V5.0 Build Time:Jun 26 2014 10:47:13)
2014-07-22 18:56:54.939 PadBotIPad Load libmediacore.so success!(V5.0 Build Time:Jun 26 2014 10:47:10)
2014-07-22 18:56:54.941 PadBotIPad videoDisabledButton retainCount is 2
2014-07-22 18:56:54.963 PadBotIPad =============== 1
2014-07-22 18:56:54.964 PadBotIPad ********** device type is iPad4,2
2014-07-22 18:56:54.967 PadBotIPad Invoke      BRAC_Connect(st.padbot.cn,8906)=0
2014-07-22 18:56:54.970 PadBotIPad Invoke      LoginServer(username=happy)
2014-07-22 18:56:54.980 PadBotIPad callingSendViewController dealloc
2014-07-22 18:56:55.040 PadBotIPad CheckClientSocketLink         Connect(ip=112.124.29.195,port=8906)
2014-07-22 18:56:55.247 PadBotIPad Server version: V5.0(Build Time:2014-07-03 17:13:18, Server OS:Windows)
2014-07-22 18:56:55.294 PadBotIPad Message      OnConnect(bSuccess:1, errorcode=0)
2014-07-22 18:56:55.726 PadBotIPad Message      OnLoginSystem(userid=239,errorcode=0,username=happy), msg deliver worked(0)
2014-07-22 18:56:55.729 PadBotIPad Load libmediautil.so success!(V5.0 Build Time:Jun 26 2014 10:47:17)
2014-07-22 18:56:55.732 PadBotIPad Load libmediashow.so success!(V5.0 Build Time:Jun 26 2014 10:47:13)
2014-07-22 18:56:55.735 PadBotIPad Load libmediacore.so success!(V5.0 Build Time:Jun 26 2014 10:47:10)
2014-07-22 18:56:55.743 PadBotIPad Invoke      EnterRoom(happy)
2014-07-22 18:56:55.743 PadBotIPad ********** device type is iPad4,2
2014-07-22 18:56:55.749 PadBotIPad Invoke      BRAC_SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
2014-07-22 18:56:55.753 PadBotIPad Invoke      SetSDKOption(BRAC_SO_AUDIO_NSCTRL,1)
2014-07-22 18:56:55.757 PadBotIPad Invoke      SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
2014-07-22 18:56:55.761 PadBotIPad Apply video parameter:640x480, bitrate:800000, quality:2, gop:24, fps:20, preset:1, codec:0
2014-07-22 18:56:55.763 PadBotIPad Invoke      EnterRoom(happy)
2014-07-22 18:56:55.763 PadBotIPad ********** device type is iPad4,2
2014-07-22 18:56:55.767 PadBotIPad Invoke      BRAC_SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
2014-07-22 18:56:55.770 PadBotIPad Invoke      SetSDKOption(BRAC_SO_AUDIO_NSCTRL,1)
2014-07-22 18:56:55.773 PadBotIPad Invoke      SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
2014-07-22 18:56:55.777 PadBotIPad Apply video parameter:640x480, bitrate:800000, quality:2, gop:24, fps:20, preset:1, codec:0
2014-07-22 18:56:55.783 PadBotIPad Connection to streaming media server successfully!(udp delay:22ms)
2014-07-22 18:56:55.896 PadBotIPad Message      OnEnterRoom(roomid=366,errorcode=0,siteindex=0)
2014-07-22 18:56:55.931 PadBotIPad Audio Playback Device Init(0, 1, 16000, 16), ios Playback Driver
2014-07-22 18:56:55.934 PadBotIPad Message      OnReceiveOnlineUser(count=1,roomid=366)

每次连接之后,第二次打开视频的总是无法显示视频画面,所有ios设备都是一样的

admin 发表于 2014-7-22 19:14:36

看了您的代码,在FinishVideoChat中,LeaveRoom、Logout、Release三个API调用是一起调用的,没有预留一些时间来释放硬件资源,所以会导致摄像头被占用。

由于摄像头关闭时需要异步处理,所以在关闭本地摄像头之后,延迟调用LeaveRoom操作,代码建议修改为:
- (void) FinishVideoChat
{
    ;
    ;
   
    ;
    ;
   
    self->iRemoteUserId = -1;

    ;
}

- (void) AnyChatRelease
{
    ;
   
    if(self.localVideoSurface){
      self.localVideoSurface = nil;
    }
   
    ;
   
    ;
      
    ;
}

Crystal 发表于 2014-7-23 16:05:42

admin 发表于 2014-7-22 19:14
看了您的代码,在FinishVideoChat中,LeaveRoom、Logout、Release三个API调用是一起调用的,没有预留一些时 ...

出错率是比较低,可以还是不能排除无法连接的情况哦

廖斌 发表于 2014-7-23 16:37:47

Crystal 发表于 2014-7-23 16:05
出错率是比较低,可以还是不能排除无法连接的情况哦

现在加上那段代码后出错率是多大呢?将延时时间加大一点看看

Crystal 发表于 2014-7-23 17:02:26

廖斌 发表于 2014-7-23 16:37
现在加上那段代码后出错率是多大呢?将延时时间加大一点看看

已经延时1秒咯

Crystal 发表于 2014-7-24 12:05:14

Crystal 发表于 2014-7-23 16:05
出错率是比较低,可以还是不能排除无法连接的情况哦

几次连接之后的log:

2014-07-24 12:03:14.630 PadBotIPad ---------------------------AnyChat Platform Core SDK Client Log---------------------------
2014-07-24 12:03:14.633 PadBotIPad Load libanychatcore.so success!(V5.0 Build Time:Jun 26 2014 10:47:00)
2014-07-24 12:03:14.635 PadBotIPad Load libmediautil.so success!(V5.0 Build Time:Jun 26 2014 10:47:17)
2014-07-24 12:03:14.637 PadBotIPad Load libmediashow.so success!(V5.0 Build Time:Jun 26 2014 10:47:13)
2014-07-24 12:03:14.638 PadBotIPad Load libmediacore.so success!(V5.0 Build Time:Jun 26 2014 10:47:10)
2014-07-24 12:03:14.640 PadBotIPad videoDisabledButton retainCount is 2
2014-07-24 12:03:14.660 PadBotIPad ********** device type is iPad3,6
2014-07-24 12:03:14.663 PadBotIPad Invoke        BRAC_Connect(st.padbot.cn,8906)=0
2014-07-24 12:03:14.665 PadBotIPad Invoke        LoginServer(username=happy)
2014-07-24 12:03:14.683 PadBotIPad callingSendViewController dealloc
2014-07-24 12:03:14.746 PadBotIPad CheckClientSocketLink       Connect(ip=112.124.29.195,port=8906)
2014-07-24 12:03:14.921 PadBotIPad Server version: V5.0(Build Time:2014-07-03 17:13:18, Server OS:Windows)
2014-07-24 12:03:14.959 PadBotIPad Message        OnConnect(bSuccess:1, errorcode=0)
2014-07-24 12:03:15.405 PadBotIPad Message        OnLoginSystem(userid=663,errorcode=0,username=happy), msg deliver worked(0)
2014-07-24 12:03:15.409 PadBotIPad Load libmediautil.so success!(V5.0 Build Time:Jun 26 2014 10:47:17)
2014-07-24 12:03:15.411 PadBotIPad Load libmediashow.so success!(V5.0 Build Time:Jun 26 2014 10:47:13)
2014-07-24 12:03:15.413 PadBotIPad Load libmediacore.so success!(V5.0 Build Time:Jun 26 2014 10:47:10)
2014-07-24 12:03:15.418 PadBotIPad Invoke        EnterRoom(happy)
2014-07-24 12:03:15.419 PadBotIPad ********** device type is iPad3,6
2014-07-24 12:03:15.422 PadBotIPad Invoke        BRAC_SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
2014-07-24 12:03:15.424 PadBotIPad Invoke        SetSDKOption(BRAC_SO_AUDIO_NSCTRL,1)
2014-07-24 12:03:15.427 PadBotIPad Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
2014-07-24 12:03:15.429 PadBotIPad Apply video parameter:352x288, bitrate:300000, quality:2, gop:24, fps:12, preset:1, codec:0
2014-07-24 12:03:15.430 PadBotIPad Invoke        EnterRoom(happy)
2014-07-24 12:03:15.431 PadBotIPad ********** device type is iPad3,6
2014-07-24 12:03:15.432 PadBotIPad Invoke        BRAC_SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
2014-07-24 12:03:15.433 PadBotIPad Invoke        SetSDKOption(BRAC_SO_AUDIO_NSCTRL,1)
2014-07-24 12:03:15.435 PadBotIPad Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
2014-07-24 12:03:15.436 PadBotIPad Apply video parameter:352x288, bitrate:300000, quality:2, gop:24, fps:12, preset:1, codec:0
2014-07-24 12:03:15.453 PadBotIPad Connection to streaming media server successfully!(udp delay:18ms)
2014-07-24 12:03:15.588 PadBotIPad Message        OnEnterRoom(roomid=556,errorcode=0,siteindex=0)
2014-07-24 12:03:15.620 PadBotIPad Audio Playback Device Init(0, 1, 16000, 16), ios Playback Driver
2014-07-24 12:03:15.623 PadBotIPad Message        OnReceiveOnlineUser(count=1,roomid=556)


无法连接视频

Crystal 发表于 2014-7-24 12:06:34

廖斌 发表于 2014-7-23 16:37
现在加上那段代码后出错率是多大呢?将延时时间加大一点看看

就是可以多连接几次,而不是每两次就出现问题

admin 发表于 2014-7-24 13:39:38

几次连接之后的log:您好,log中没有看到有调用语音、视频的API:BRAC_UserCameraControl、BRAC_UserSpeakControl?

Crystal 发表于 2014-7-24 14:31:48

admin 发表于 2014-7-24 13:39
您好,log中没有看到有调用语音、视频的API:BRAC_UserCameraControl、BRAC_UserSpeakControl?

这已经是登录之后的全部log了,这个时候就需要结束程序,然后重新来过了
页: [1]
查看完整版本: ios第二次视频无法打开