AnyChat技术支持论坛

标题: 求助:如何正确的关闭再打开本地视频? [打印本页]

作者: 红朝丞相    时间: 2015-11-12 13:48
标题: 求助:如何正确的关闭再打开本地视频?
昨天测试人员报了个BUG,一时没有看明白,今天仔细看了,大意如下:
1、双方先视频。一切正常。
2、双方切换成音频,都关闭视频。一切正常。
3、双方再切换成视频,这时怪事发生了,请仔细看描述:
本地视频窗口,处于冻结状态。
远端视频窗口,则很正常。
也就是说,除了本地窗口的刷新,一切正常。

那么,如何解决这个问题?求指点。

作者: 佰锐科技-李永星    时间: 2015-11-12 14:37
您好,请把你的这段操作代码贴上来,我们来分析一下。
作者: 红朝丞相    时间: 2015-11-12 14:48
- (void) videoAction
{
    [self showViews];

    [AnyChatPlatform UserCameraControl:mRemoteIdForVideo : !self->isAudioTalk];
   
    // 视频模式切换到音频模式,再切换回来,本地窗口没有变化。目前无法解决,只能隐藏窗口。
    // 以后再寻找良策
    [AnyChatPlatform UserCameraControlOCAL_RELATIVE_ID : !self->isAudioTalk];
}
外部设置isAudioTalk来控制
作者: 佰锐科技-李永星    时间: 2015-11-12 15:03
红朝丞相 发表于 2015-11-12 14:48
- (void) videoAction
{
    [self showViews];

您好,请把双方的日志贴上来
作者: tjt_223    时间: 2015-11-12 20:04
您好,你应该补上[AnyChatPlatform SetVideoPos:-1 :self :0 :0 :0 :0]; 来解决
原理:
这句它会将需要显示视频的主窗体 View对象传递给SDK;
当本地视频初始化成功之后,SDK内核会调用该View的方法“OnLocalVideoInit”方法
在该方法中,便可创建和初始化 AVCaptureVideoPreviewLayer对象,实现本地视频的显示;
当本地视频会话关闭,或是对象销毁时,SDK内核会调用该View的方法“OnLocalVideoRelease”, 在该方法中,可释放前面创建的AVCaptureVideoPreviewLayer对象




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3