设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
123
返回列表 发新帖
楼主: xudalin
打印 上一主题 下一主题

如何实现在对方关闭视频后,显示黑屏,而不是画面卡住?

[复制链接]

2

主题

18

帖子

60

积分

注册会员

Rank: 2

积分
60
21#
 楼主| 发表于 2014-8-12 15:59:30 | 只看该作者
廖斌 发表于 2014-8-12 15:56
android用的是什么版本呢?之前的android版本实现“A和B正在视频通话,A关闭视频再次打开,B还要再能再次 ...

用的是新的版本啊 那我再下载一版试试
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
22#
发表于 2014-8-12 16:00:49 | 只看该作者
xudalin 发表于 2014-8-12 15:57
是要实现这样 就是A可以手动关闭、打开视频信号,关闭的时候用A和B就都黑屏显示

而且视频的时候B的surfaceview背景必须是透明的
回复 支持 反对

使用道具 举报

2

主题

18

帖子

60

积分

注册会员

Rank: 2

积分
60
23#
 楼主| 发表于 2014-8-12 16:07:16 | 只看该作者
本帖最后由 xudalin 于 2014-8-12 16:09 编辑
廖斌 发表于 2014-8-12 16:00
而且视频的时候B的surfaceview背景必须是透明的

我把CheckVideoStatus的方法中加了else判断 但好像没有用 要怎么设置呢?
  1. if (!bOtherVideoOpened) {
  2.                         if (anychat.GetCameraState(userID) == 2 && anychat.GetUserVideoWidth(userID) != 0) {
  3.                                 otherView.setBackgroundColor(Color.TRANSPARENT);
  4.                                 SurfaceHolder holder = otherView.getHolder();
  5.                                 // 如果是采用内核视频显示(非Java驱动),则需要设置Surface的参数
  6.                                 if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
  7.                                         holder.setFormat(PixelFormat.RGB_565);
  8.                                         holder.setFixedSize(anychat.GetUserVideoWidth(userID), anychat.GetUserVideoHeight(userID));
  9.                                 }
  10.                                 Surface s = holder.getSurface();
  11.                                 anychat.SetVideoPos(userID, s, 0, 0, 0, 0);
  12.                                 bOtherVideoOpened = true;
  13.                         } else {
  14.                                 otherView.setBackgroundColor(Color.BLACK);
  15.                         }
  16.                 }
  17.                 if (!bSelfVideoOpened) {
  18.                         if (anychat.GetCameraState(-1) == 2 && anychat.GetUserVideoWidth(-1) != 0) {
  19.                                 myView.setBackgroundColor(Color.TRANSPARENT);
  20.                                 SurfaceHolder holder = myView.getHolder();
  21.                                 // 如果是采用内核视频显示(非Java驱动),则需要设置Surface的参数
  22.                                 if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
  23.                                         holder.setFormat(PixelFormat.RGB_565);
  24.                                         holder.setFixedSize(anychat.GetUserVideoWidth(-1), anychat.GetUserVideoHeight(-1));
  25.                                 }
  26.                                 Surface s = holder.getSurface();
  27.                                 anychat.SetVideoPos(-1, s, 0, 0, 0, 0);
  28.                                 bSelfVideoOpened = true;
  29.                         } else {
  30.                                 myView.setBackgroundColor(Color.BLACK);
  31.                         }
  32.                 }
复制代码
回复 支持 反对

使用道具 举报

2

主题

18

帖子

60

积分

注册会员

Rank: 2

积分
60
24#
 楼主| 发表于 2014-8-13 11:26:21 | 只看该作者
版主结贴吧  问题都已经解决了
回复 支持 反对

使用道具 举报

25#
发表于 2014-8-13 11:51:00 | 只看该作者
xudalin 发表于 2014-8-13 11:26
版主结贴吧  问题都已经解决了

您好,我们的接口是没有问题的哦,请问是什么原因导致出现这样的问题的呢?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-27 22:03 , Processed in 0.130129 second(s), 20 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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