设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 6244|回复: 9
打印 上一主题 下一主题

切换视频用户

[复制链接]

8

主题

40

帖子

146

积分

注册会员

Rank: 2

积分
146
跳转到指定楼层
楼主
发表于 2014-11-7 16:29:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在视频界面切换用户,用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,就停在之前切换用户的画面上,
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
沙发
发表于 2014-11-7 17:21:11 | 只看该作者
您好,从上面的代码来看,您好象没有关闭之前用户的视频?

anychat.UserCameraControl(anychatId, 0); 应该是anychat.UserCameraControl(remoteTarUserId, 0); ?
回复 支持 反对

使用道具 举报

8

主题

40

帖子

146

积分

注册会员

Rank: 2

积分
146
板凳
 楼主| 发表于 2014-11-10 10:40:41 | 只看该作者
                        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;

                                }

我这样子 还是不行
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
地板
发表于 2014-11-10 10:57:19 | 只看该作者
您好,建议您下载最新版本AnyChat for Android SDK,在最新版本的SDK包中,增加了一个示例程序helloAnyChat,位于SDK包src目录下,里面有切换用户的相关代码,您可以对比一下,谢谢。
回复 支持 反对

使用道具 举报

8

主题

40

帖子

146

积分

注册会员

Rank: 2

积分
146
5#
 楼主| 发表于 2014-11-10 13:41:45 | 只看该作者
        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之后,对方就看不到我的视频
回复 支持 反对

使用道具 举报

8

主题

40

帖子

146

积分

注册会员

Rank: 2

积分
146
6#
 楼主| 发表于 2014-11-10 13:44:50 | 只看该作者
admin 发表于 2014-11-10 10:57
您好,建议您下载最新版本AnyChat for Android SDK,在最新版本的SDK包中,增加了一个示例程序helloAnyChat ...

你所说的helloAnychat的demo中 是在哪里进行的用户切换呢?
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9108
7#
发表于 2014-11-10 13:45:04 | 只看该作者
您好,请将AnyChatCameraHelper.java中如下两行注释掉,看问题是否依然存在:
  1. //if(!bSetPreviewFrameRate&&fpsRange.size()!=0)
  2. //    parameters.setPreviewFpsRange(1000, 25000);
复制代码
回复 支持 反对

使用道具 举报

8

主题

40

帖子

146

积分

注册会员

Rank: 2

积分
146
8#
 楼主| 发表于 2014-11-10 14:02:14 | 只看该作者
admin 发表于 2014-11-10 13:45
您好,请将AnyChatCameraHelper.java中如下两行注释掉,看问题是否依然存在:

注释之后就可以了,用户切换视频在哪里呢?
回复 支持 反对

使用道具 举报

8

主题

40

帖子

146

积分

注册会员

Rank: 2

积分
146
9#
 楼主| 发表于 2014-11-10 14:05:23 | 只看该作者
        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 该用户已被删除
10#
发表于 2014-11-10 15:02:33 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-11-23 17:27 , Processed in 0.129918 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表