将标准demo视频部分代码移植到工程中常见问题和解决方案

近日,有很多客户反馈将标准android demo的VideoActivity视频部分代码移植到自己的工程中遇到本地视频黑屏或者远程视频显示不了的问题,这里对这些问题做汇总说明,并给出解决方案。

1、本地视频黑屏、不显示
问题可能原因:没有设置音视频参数,没有使用Java采集模式
解决方法:将标准demo里面hallactivity类中的ApplyVideoConfig函数移植到工程中,在初始化SDK之后调用,如下面所示

  1. //初始化SDK
  2. anychat.InitSDK(android.os.Build.VERSION.SDK_INT, 0);
  3. //设置音视频参数
  4. ApplyVideoConfig();

复制代码

(注:需要在初始化后设置参数才有效)

2、本地视频可以显示,远程视频黑屏、不显示
问题可能原因:没有将远程视频绑定surfaceview
解决方法:在请求远程视频操作之前调用绑定的代码,如下面所示

  1. // 如果是采用Java视频显示,则需要设置Surface的CallBack
  2. if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
  3. int index =     anychat.mVideoHelper.bindVideo(otherView.getHolder());
  4. anychat.mVideoHelper.SetVideoUser(index, userID);
  5. }
  6. //请求远程视频
  7. anychat.UserCameraControl(userID, 1);
  8. anychat.UserSpeakControl(userID, 1);

复制代码

(注:如果请求远程视频有多处地方,都需要调用这段代码。如在OnAnyChatOnlineUserMessage和OnAnyChatUserAtRoomMessage中都有打开远程音视频的操作,那么都需要调用上面的代码)

将标准demo视频部分代码移植到工程中常见问题和解决方案

时间: 2024-10-18 23:31:16

将标准demo视频部分代码移植到工程中常见问题和解决方案的相关文章

将Linux代码移植到Windows的简单方法

将Linux代码移植到Windows的简单方法 一.前言 Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的.Windows平台根本无法直接利用这些源代码资源.如果想要使用完整的代码,就要做移植工作.因为C/C++ Library的不同和其他的一些原因,移植C/C++代码是一项困难的工作.本文将以一个实际的例子(Tar)来说明如何把Linux代码移植到Windows平台上.移植过程将尽量少修改代码,以便代码的运行逻辑不会发生任何变动.保留绝大部分软件主要功能

代码移植

准备工作: 首先是一些准备工作,在Windows平台上面安装上Cygwin的最新版本,在Cygwin中安装好GCC等开发工具. 同样也需要一个Windows开发环境.可以使用最新版本Visual Studio,Microsoft Visual Studio .NET 2003. 在Cygwin下面解开tar-1.13.tar.gz.源代码包. 解开压缩包之后,进入 tar-1.13目录,在当前的目录下面输入./configure命令,运行完毕之后,再次输入make命令.开始编译tar的Cygwi

基于 Android 的 3D 视频样本代码

作者:Mark Liu 下载样本代码 简介 在Android 中,创建一个能够播放视频剪辑的应用非常简单:创建一个采用 3D 图形平面的游戏应用也非常简单.但是,创建一个能够在 3D 图形对象上播放视频的应用却不容易.本文介绍了我为应对该挑战创建的应用.该应用可在 3D 平面上渲染视频,并支持用户以交互的方式在视频平面上播放. 该应用需要解决三大实施问题: 如何构建代码以支持用户在播放视频时变更 3D 平面? 虽然 Android 中默认的 MediaPlayer 配备了全面的播放操作,但是难以

【转】使用2to3将代码移植到Python 3

你的位置: Home ? Dive Into Python 3 ? 难度等级: ♦♦♦♦♦ 使用2to3将代码移植到Python 3 ? Life is pleasant. Death is peaceful. It’s the transition that’s troublesome. ?— Isaac Asimov (attributed) 概述 几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为了简化这个转换过程,Python 3自带了一个叫做2to

我收集的一些目标检测、跟踪、识别标准测试视频集和图像数据库

一个网友收集的运动目标检测,阴影检测的标准测试视频 http://blog.csdn.net/sunbaigui/article/details/6363390 很权威的change detection检测视频集,里面有将近20种主流算法在这个测试集上的运行结果和ROC,PRA曲线 http://changedetection.net/ VIVID Tracking Evaluation Web Site http://vision.cse.psu.edu/data/vividEval/data

使用Phoenix将SQL代码移植至HBase

1.前言 HBase是云计算环境下最重要的NOSQL数据库,提供了基于Hadoop的数据存储.索引.查询,其最大的优点就是可以通过硬件的扩展从而几乎无限的扩展其存储和检索能力.但是HBase与传统的基于SQL语言的关系数据库无论从理念还是使用方式上都相去甚远,以至于要将基于SQL的项目移植到HBase时往往需要重写整个项目. 为了解决这个问题,很多开源项目提供了HBase的类SQL中间件,意即提供一种在HBase上使用的类SQL语言,使得程序员能够像使用关系数据库一样使用HBase,Apache

怪兽z主机标准版视频测试。

我的淘宝店很早就开张了,但是一直没有好好打理,这次给大家带来的是本店所售一款主机的视频测试. CPU:AMD -A10 6700 主板:映泰Hi-Fi A88S3E 内存条:正品金士顿骇客游戏神条 机箱:金河田翼扬2082 固态硬盘:金泰克S500 存储硬盘:希捷1TB 硬盘 显卡:HD8670D. 红外遥控器:RII K25A 这是一台我自己搭配的主机,主要特色为主板的hifi音效.主芯片组也是最新的A88X.100%全固态电容.带3个USB3.0接口.可接入一个映泰的官方红外遥控器,实现红外

论坛源码推荐(11.6):iPhone6/6 plus屏幕适配Demo,Java代码转Objective-C

http://www.cocoachina.com/ios/20141106/10153.html iPhone6/6 plus 屏幕适配Demo(代码底层处理)(论坛会员satian)htt 该项目是iPhone6/6 plus屏幕适配Demo,采用代码编写界面的适配方法,以iPhone5屏幕分辩率为设计基础. 测试环境:Xcode 6.0,iOS 6.0以上 Google:Java代码转Objective-C(J2ObjC)  J2ObjC是一款出自Google的开源的命令行工具,可以将Ja

js代码从页面移植到文件中失效或js代码修改后不起作用的解决办法

最近在做关于网站的项目,总是发生这样的问题 写的javascript代码在页面上没有问题,但是将js代码移植到.js的文件中,在页面上进行调用,总是出现失效等错误 另外修改后的js代码,重新刷新网页仍然不起作用 经过大量搜索并经过验证,可以用下面方法来解决 将js代码封装到js文件中失效的原因可能是js文件中存在中文注释,导致在执行的时候中断,在js文件尽量不要写中文注释 修改后的js代码刷新网页后不起效果可能是因为你所用的浏览器使用缓存的问题,可在浏览器中设置取消使用缓存,并删除临时文件,重启