项目中通过点击TabBar子界面中的某一界面中的按钮,Push到文字聊天界面,之后点击文字聊天界面中的一个按钮Modal到视频通话界面,点击视频通话界面的“挂断视频”按钮dismiss到文字聊天界面,具体流程就是这样。遇到的问题如下 :
1.
进入文字聊天界面文字聊天没有任何问题,点击左上角导航栏返回按钮也能正常返回(这一步执行了离开房间的操作),
但是当我点击视频,进入视频聊天界面如果对方没接听,我直接挂断回到文字聊天页面,在点击文字页面左上角返回也不会有任何问题,
如果对方接听我的视频请求之后,我挂断视频,返回到文字聊天界面,再点击左上角返回就会崩溃。
2.
当我第一次请求视频成功接通之后,双方都能看到对方(正常),双方有一方挂断,我会回到文字聊天页面,这时我再次点击视频请求时,我的本地视频窗口是不显示的(我自己看不到自己的画面),但是对方是能看到我的画面的(只是我本地的没打开)。
部分代码:项目使用StroyBoard完成
进入文字聊天界面
// 用户执行进入房间操作 [AnyChatPlatform EnterRoom:roomID.intValue :@""]; [self performSegueWithIdentifier:@"showTextChatViewController" sender:self]; (此处为Push操作) 文字页面跳转到视频界面 // 跳转到视频聊天界面 [self performSegueWithIdentifier:@"showVideoViewController" sender:self]; (此处为Modal操作) 视频聊天界面返回文字聊天界面 - (IBAction)OnFinishVideoChatBtnClicked:(id)sender { [AnyChatPlatform VideoCallControl:BRAC_VIDEOCALL_EVENT_FINISH :self.iRemoteUserId :0 :0 :0 :@""]; [self FinishVideoChat]; [self dismissViewControllerAnimated:YES completion:NULL];
} - (void)FinishVideoChat { [AnyChatPlatform UserSpeakControl:-1 :NO]; [AnyChatPlatform UserCameraControl:-1 :NO]; [AnyChatPlatform UserSpeakControl:self.iRemoteUserId :NO]; [AnyChatPlatform UserCameraControl:self.iRemoteUserId :NO];
}
返回文字聊天页面之后: 文字聊天页面左上角导航栏返回按钮点击事件: - (void)popCurrentViewController { [AnyChatPlatform LeaveRoom:-1]; [self.navigationController popViewControllerAnimated:YES];
}
|