设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

surfaceview切换

[复制链接]

4

主题

17

帖子

70

积分

注册会员

Rank: 2

积分
70
跳转到指定楼层
楼主
发表于 2016-7-31 20:15:51 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
同一个surfaceview,第一次是只在父布局A上显示,然后点击按钮切换到父布局B上显示。
我现在是第一次从A到B没问题,但是第二次先从A remove以后再add surfaceview到B上时显示不出来,怎么做呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

4

主题

10

帖子

58

积分

注册会员

Rank: 2

积分
58
14#
发表于 2017-12-12 14:07:57 | 只看该作者
佰锐科技-梁国桦 发表于 2016-8-1 09:33
您好,我们有一个切换本地与远程视频的demo,切换的原理是本地视频和远程视频先与surfaceview解绑,然后再 ...

您好,请把视频远程和本地切换的demo发一份,谢谢;785338419@qq.com
回复 支持 反对

使用道具 举报

3

主题

12

帖子

53

积分

注册会员

Rank: 2

积分
53
13#
发表于 2017-11-23 10:12:56 | 只看该作者
谢谢,我也需要一份视频远程和本地切换的demo,非常感谢;614999725@qq.com
回复 支持 反对

使用道具 举报

1

主题

4

帖子

77

积分

注册会员

Rank: 2

积分
77
12#
发表于 2017-10-31 16:29:19 | 只看该作者
佰锐科技-梁国桦 发表于 2016-8-1 09:33
您好,我们有一个切换本地与远程视频的demo,切换的原理是本地视频和远程视频先与surfaceview解绑,然后再 ...

您好,请把视频远程和本地切换的demo发一份,谢谢;yuefx0518@cairenhui.com
回复 支持 反对

使用道具 举报

1

主题

2

帖子

17

积分

新手上路

Rank: 1

积分
17
11#
发表于 2017-7-9 23:03:43 | 只看该作者
佰锐科技-梁国桦 发表于 2016-8-1 09:33
您好,我们有一个切换本地与远程视频的demo,切换的原理是本地视频和远程视频先与surfaceview解绑,然后再 ...

你好,我们也需要实现本地和远程界面的切换,可否将demo发于我的邮箱呢?yfxhao123@163.com,谢谢。。
回复 支持 反对

使用道具 举报

4

主题

17

帖子

70

积分

注册会员

Rank: 2

积分
70
10#
 楼主| 发表于 2016-8-22 14:16:23 | 只看该作者
谢谢耐心的解答。
最后曲折的解决问题了,没有使用setZOrderOnTop这个属性,使用addview和removeview实现了。
回复 支持 反对

使用道具 举报

9#
发表于 2016-8-8 09:09:17 | 只看该作者
        /** 用来切换的标识 */
        private int tag = 0;
        /** 此方法会交换两个位置的信息 */
        private void changeSize() {
                if (tag == 0) {
                        // 先取消绑定别人的画面
                        anychatSDK.mVideoHelper.UnBindVideo(index);
                        // 移出别人的画面
                        rlContainer.removeView(mOtherView);

                        mMyView.setLayoutParams(paramsBig);

                        mOtherView.setLayoutParams(paramsSmall);
                        mOtherView.setZOrderOnTop(true);

                        rlContainer.addView(mOtherView);

                        // 绑定别人的画面
                        index = anychatSDK.mVideoHelper.bindVideo(mOtherView.getHolder());
                        anychatSDK.mVideoHelper.SetVideoUser(index, userID);

                        tag = 1;
                } else {
                        // 先取消绑定别人的画面
                        anychatSDK.mVideoHelper.UnBindVideo(index);
                        // 移出别的画面
                        rlContainer.removeView(mOtherView);

                        mMyView.setLayoutParams(paramsSmall);

                        mOtherView.setLayoutParams(paramsBig);
                        rlContainer.addView(mOtherView, -1);

                        mOtherView.setZOrderOnTop(false);
                        mOtherView.setZOrderMediaOverlay(false);
                        mMyView.setZOrderMediaOverlay(true);
                        mMyView.setZOrderOnTop(true);

                        // 绑定别人的画面
                        index = anychatSDK.mVideoHelper.bindVideo(mOtherView.getHolder());
                        anychatSDK.mVideoHelper.SetVideoUser(index, userID);

                        tag = 0;
                }
        }

您看看调用的顺序对吗?
回复 支持 反对

使用道具 举报

4

主题

17

帖子

70

积分

注册会员

Rank: 2

积分
70
8#
 楼主| 发表于 2016-8-6 21:06:04 | 只看该作者
佰锐科技-梁国桦 发表于 2016-8-1 14:18
如果没漏的话,建议您检查下代码的顺序有没有问题,也可以直接复制我们demo的代码, 然后修改下对应的控 ...

两个窗口都设置了确实都显示出来了,但是setZOrderOnTop这个不能用啊,会导致我大窗口上其他控件都看不见了
回复 支持 反对

使用道具 举报

7#
发表于 2016-8-1 14:18:08 | 只看该作者
rendersliver 发表于 2016-8-1 11:39
切换后小窗口看不到了,但是在那个区域点一下发现显示出来了

如果没漏的话,建议您检查下代码的顺序有没有问题,也可以直接复制我们demo的代码, 然后修改下对应的控件修改下变量名即可
回复 支持 反对

使用道具 举报

6#
发表于 2016-8-1 13:53:53 | 只看该作者
rendersliver 发表于 2016-8-1 11:39
切换后小窗口看不到了,但是在那个区域点一下发现显示出来了

您的意思是:远程视频切换到小窗口时,小窗口看不见,再切换回来时就有了 ?
如果是这样,可能是漏了一次setZOrderOnTop(true); 要注意看清楚是哪个surfaceview需要调用这个噢,两个情况都不同的
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 19:26 , Processed in 0.139867 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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