AnyChat技术支持论坛

标题: 切换视频用户 [打印本页]

作者: coolkissxia    时间: 2014-11-7 16:29
标题: 切换视频用户
在视频界面切换用户,用Spinner让用户自己选择与之视频的对象,在选中Spinner的Item切换用户时,代码如下:public void onItemSelected(AdapterView<?> arg0, View arg1,
                                        int arg2, long arg3) {
                                AnychatUserEntity item = (AnychatUserEntity) arg0.getAdapter()
                                                .getItem(arg2);
                                if (item != null) {
                                         anychat.UserCameraControl(anychatId, 0);
                                         anychat.UserSpeakControl(anychatId, 0);
                                         int id = item.getAnychatId();
                                         int index = anychat.mVideoHelper.bindVideo(otherView
                                         .getHolder());
                                         anychat.mVideoHelper.SetVideoUser(index, id);
                                         anychat.UserCameraControl(id, 1);
                                         anychat.UserSpeakControl(id, 1);
                                         remoteTarUserId = id;

                                }

                        }


当我点击Spinner的选择项时,显示对方视频的SurfaceView,就停在之前切换用户的画面上,

作者: admin    时间: 2014-11-7 17:21
您好,从上面的代码来看,您好象没有关闭之前用户的视频?

anychat.UserCameraControl(anychatId, 0); 应该是anychat.UserCameraControl(remoteTarUserId, 0); ?
作者: coolkissxia    时间: 2014-11-10 10:40
                        AnychatUserEntity item = (AnychatUserEntity) arg0.getAdapter()
                                                .getItem(arg2);
                                if (item != null) {
                                        anychat.UserCameraControl(remoteTarUserId, 0);
                                        anychat.UserSpeakControl(remoteTarUserId, 0);
                                        int id = item.getAnychatId();
                                        int index = anychat.mVideoHelper.bindVideo(otherView
                                                        .getHolder());
                                        anychat.mVideoHelper.SetVideoUser(index, id);
                                        anychat.UserCameraControl(id, 1);
                                        anychat.UserSpeakControl(id, 1);
                                        remoteTarUserId = id;
                                        bOtherVideoOpened = false;

                                }

我这样子 还是不行
作者: admin    时间: 2014-11-10 10:57
您好,建议您下载最新版本AnyChat for Android SDK,在最新版本的SDK包中,增加了一个示例程序helloAnyChat,位于SDK包src目录下,里面有切换用户的相关代码,您可以对比一下,谢谢。
作者: coolkissxia    时间: 2014-11-10 13:41
        mCamera.setPreviewCallbackWithBuffer(new Camera.PreviewCallback() {
                                @Override
                                public void onPreviewFrame(byte[] data, Camera camera) {
                                        if ( data.length != 0 && bNeedCapture) {
                                                AnyChatCoreSDK.InputVideoData(data, data.length, 0);
                                        }
                                        mCamera.addCallbackBuffer(data);
                                }
                        });

用demo,helloAnychat在AnychatCameraHelper的116行 会出现data的空指针错误,我的手机为华为a199,我添加一个data!=null之后,对方就看不到我的视频
作者: coolkissxia    时间: 2014-11-10 13:44
admin 发表于 2014-11-10 10:57
您好,建议您下载最新版本AnyChat for Android SDK,在最新版本的SDK包中,增加了一个示例程序helloAnyChat ...

你所说的helloAnychat的demo中 是在哪里进行的用户切换呢?
作者: admin    时间: 2014-11-10 13:45
您好,请将AnyChatCameraHelper.java中如下两行注释掉,看问题是否依然存在:
  1. //if(!bSetPreviewFrameRate&&fpsRange.size()!=0)
  2. //    parameters.setPreviewFpsRange(1000, 25000);
复制代码

作者: coolkissxia    时间: 2014-11-10 14:02
admin 发表于 2014-11-10 13:45
您好,请将AnyChatCameraHelper.java中如下两行注释掉,看问题是否依然存在:

注释之后就可以了,用户切换视频在哪里呢?
作者: coolkissxia    时间: 2014-11-10 14:05
        private void onSelectItem(int postion) {
                String strUserID = mRoleInfoList.get(postion).getUserID();
                Intent intent = new Intent();
                intent.putExtra("UserID", strUserID);
                intent.setClass(this, VideoActivity.class);
                startActivity(intent);
        }

是在这里选择的用户ID? 然后在跳转activity中么? 我是直接在视频聊天的界面切换用户,可以实现么?
作者: Tech.Xing    时间: 2014-11-10 15:02
提示: 作者被禁止或删除 内容自动屏蔽




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