设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
楼主: lilei0807
打印 上一主题 下一主题

AnyChat打开远程视频后本地消失

[复制链接]

2

主题

23

帖子

52

积分

注册会员

Rank: 2

积分
52
11#
 楼主| 发表于 2016-1-7 12:23:42 | 只看该作者
佰锐科技-陈伟 发表于 2016-1-7 12:08
您好  没有设置显示本地视频的显示位置 。另外您流程存在问题 应先进入房间后在打开视频和请求视频,请参 ...

显示位置不是依照SURFACEVIEW在XML文件中布局位置来显示吗?
回复 支持 反对

使用道具 举报

2

主题

23

帖子

52

积分

注册会员

Rank: 2

积分
52
12#
 楼主| 发表于 2016-1-7 12:35:51 | 只看该作者
佰锐科技-陈伟 发表于 2016-1-7 12:08
您好  没有设置显示本地视频的显示位置 。另外您流程存在问题 应先进入房间后在打开视频和请求视频,请参 ...

private int roomId;
        private int interviewId;
        private SurfaceView surfaceLarge,surfaceSmall;
        private AnyChatCoreSDK anyChat = null;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_test);
                roomId = getIntent().getIntExtra(MFHRConstant.ROOM_ID, -1);
                interviewId = getIntent().getIntExtra(MFHRConstant.INTERVIEW_ID, -1);
                anyChat = MFHRApplication.getInstance().getAnyChatService();
                surfaceLarge = (SurfaceView)findViewById(R.id.surface_large);
                surfaceSmall = (SurfaceView)findViewById(R.id.surface_small);
                anyChat.SetBaseEvent(this);
                AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_AUTOROTATION, 1);
                AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_OVERLAY, 1);
                anyChat.mSensorHelper.InitSensor(this);
                AnyChatCoreSDK.mCameraHelper.SetContext(this);
                AnyChatCoreSDK.mCameraHelper.SelectVideoCapture(0);
                surfaceSmall.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);
                anyChat.Connect("192.168.0.215", 8906);
//                findViewById(R.id.btn_roate_camera).setOnClickListener(new View.OnClickListener() {
//                       
//                        @Override
//                        public void onClick(View v) {
//                                AnyChatCoreSDK.mCameraHelper.SwitchCamera();
//                        }
//                });
        }
       
        @Override
        public void OnAnyChatObjectEvent(int dwObjectType, int dwObjectId, int dwEventType, int dwParam1, int dwParam2,
                        int dwParam3, int dwParam4, String strParam) {

        }

        @Override
        public void OnAnyChatConnectMessage(boolean bSuccess) {
                if(bSuccess){
                        Toast.makeText(VideoHrActivity.this, "链接服务器成功", Toast.LENGTH_SHORT).show();
                        anyChat.Login("test","");
                }else{
                        Toast.makeText(VideoHrActivity.this, "链接服务器失败", Toast.LENGTH_SHORT).show();
                }
        }

        @Override
        public void OnAnyChatLoginMessage(int dwUserId, int dwErrorCode) {
                if(dwErrorCode == 0){
                        Toast.makeText(VideoHrActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
                        anyChat.EnterRoom(roomId, "");
                }else{
                        Toast.makeText(VideoHrActivity.this, "登录失败", Toast.LENGTH_SHORT).show();
                }
        }

        @Override
        public void OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode) {
                if(dwErrorCode == 0){
                        Toast.makeText(VideoHrActivity.this, "进入房间成功", Toast.LENGTH_SHORT).show();
                        anyChat.UserCameraControl(-1, 1);
                        anyChat.UserSpeakControl(-1, 1);
                }else{
                        Toast.makeText(VideoHrActivity.this, "进入房间失败", Toast.LENGTH_SHORT).show();
                }
        }

        @Override
        public void OnAnyChatOnlineUserMessage(int dwUserNum, int dwRoomId) {
               
        }

        @Override
        public void OnAnyChatUserAtRoomMessage(int dwUserId, boolean bEnter) {
                if(bEnter){
                        userID = dwUserId;
                        Toast.makeText(VideoHrActivity.this, "有人进入", Toast.LENGTH_SHORT).show();
                        int index = anyChat.mVideoHelper.bindVideo(surfaceLarge.getHolder());
                        anyChat.mVideoHelper.SetVideoUser(index, dwUserId);
                        anyChat.UserCameraControl(dwUserId, 1);
                        anyChat.UserSpeakControl(dwUserId, 1);
                }else{
                        userID = 0;
                        Toast.makeText(VideoHrActivity.this, "有人离开", Toast.LENGTH_SHORT).show();
                        anyChat.UserCameraControl(dwUserId, 0);
                        anyChat.UserSpeakControl(dwUserId, 0);
                }
        }

        @Override
        public void OnAnyChatLinkCloseMessage(int dwErrorCode) {

        }
回复 支持 反对

使用道具 举报

2

主题

23

帖子

52

积分

注册会员

Rank: 2

积分
52
13#
 楼主| 发表于 2016-1-7 13:01:04 | 只看该作者
佰锐科技-陈伟 发表于 2016-1-7 11:53
您好 将控制台的调试日志贴上来也行!

这是用你们DEMO测试的,手机端可以显示本地和远程服务器端的图像,可服务器端却显示不了手机端的图像。
回复 支持 反对

使用道具 举报

2

主题

23

帖子

52

积分

注册会员

Rank: 2

积分
52
14#
 楼主| 发表于 2016-1-7 13:31:18 | 只看该作者
佰锐科技-李友勤 发表于 2016-1-7 11:37
您好,请将本地日志贴上来看下

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    androidrientation="vertical"
    android:layout_height="match_parent" >

    <SurfaceView
        android:id="@+id/surface_large"
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:layout_height="match_parent" />

    <SurfaceView
        android:id="@+id/surface_small"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="bottom"
        android:layout_weight="1" />

</LinearLayout>

如果采用这种布局,远程和本地就可以显示,服务器端也同样远程和本地可以显示。使用FrameLayout就不行。。。
回复 支持 反对

使用道具 举报

15#
发表于 2016-1-7 14:09:50 | 只看该作者
本帖最后由 佰锐科技-邵光清 于 2016-1-8 10:16 编辑
lilei0807 发表于 2016-1-7 13:31
如果采用这种布局,远程和本地就可以显示,服务器端也同样远程和本地可以显示 ...

您好,我们的客户端demo使用LinearLayout布局。
回复 支持 反对

使用道具 举报

2

主题

23

帖子

52

积分

注册会员

Rank: 2

积分
52
16#
 楼主| 发表于 2016-1-7 14:31:10 | 只看该作者
佰锐科技-邵光清 发表于 2016-1-7 14:09
您好,我们的客户端demo使用LinearLayout布局,视频类app不支持FrameLayout布局的。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/video_session"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <SurfaceView
        android:id="@+id/surface_remote"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/videoremote_bg"
        android:layout_gravity="center" />

    <LinearLayout
        android:id="@+id/frame_local_area"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="bottom|right"
        android:background="@drawable/video_bg"
        androidrientation="vertical"
        android:padding="3dip" >

        <SurfaceView
            android:id="@+id/surface_local"
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_gravity="center"
            android:layout_weight="1" />
    </LinearLayout>

</FrameLayout>


这是你们的布局。。。。。</FrameLayout>结尾啊,我已经测试过了,在我的FrameLayout外部套个LinearLayout 也是木有问题的啊,我好像知道了,我试试先,
回复 支持 反对

使用道具 举报

2

主题

23

帖子

52

积分

注册会员

Rank: 2

积分
52
17#
 楼主| 发表于 2016-1-7 14:39:51 | 只看该作者
佰锐科技-邵光清 发表于 2016-1-7 14:09
您好,我们的客户端demo使用LinearLayout布局,视频类app不支持FrameLayout布局的。

还有你们的链接anyChat.Connect("192.168.0.215", 8906); 只可以调用一次?我从A到B,B链接服务器,这时候链接失败,我FINSH掉B,返回A,在从A到B,继续调用这个方法,为什么回调都不走了?不管成功还是失败!
回复 支持 反对

使用道具 举报

18#
发表于 2016-1-7 14:58:26 | 只看该作者
lilei0807 发表于 2016-1-7 14:39
还有你们的链接anyChat.Connect("192.168.0.215", 8906); 只可以调用一次?我从A到B,B链接服务器,这时 ...

请将控制台的日志发上来分析!
回复 支持 反对

使用道具 举报

0

主题

3

帖子

10

积分

新手上路

Rank: 1

积分
10
19#
发表于 2016-1-7 15:34:17 | 只看该作者
本帖最后由 yuanyk 于 2016-1-7 15:51 编辑
lilei0807 发表于 2016-1-7 14:39
还有你们的链接anyChat.Connect("192.168.0.215", 8906); 只可以调用一次?我从A到B,B链接服务器,这时 ...

当连接服务器成功之后,用户便在系统中有一个ID,再次登陆时需退出系统(返回A时调用Anychat.Logout()),之后可以再次连接服务器。
回复 支持 反对

使用道具 举报

2

主题

23

帖子

52

积分

注册会员

Rank: 2

积分
52
20#
 楼主| 发表于 2016-1-7 15:48:08 | 只看该作者
佰锐科技-邵光清 发表于 2016-1-7 14:58
请将控制台的日志发上来分析!

LogCat里一大堆,你们有没有TAG,我用TAG筛选后给你们发上来。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 21:09 , Processed in 0.132282 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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