最近公司的项目需要集成直播的功能,直播的sdk用的是263展视互动平台的sdk,该平台的网址是:http://www.gensee.com/

我们首先来看下运行在手机上的效果:

我集成的是Android-Fast SDK,Fast SDK包括发布(主播)和观看(观众)两大部分,界面完整(不支持定制,类似花椒、映客),目前发布(主播)支持横竖屏2种表现形式,同时有软硬编码、标清高清等切换参数。观看端目前有分屏和全屏2个模式,分屏模式支持常见的视频、文档、聊天、问答、音视频互动(只能打开一路视频)、打赏、投票、点名等等常用的功能,推荐使用,用户可参照后面的功能清单,看是否能覆盖自己的需求。

在这里简单的记录下自己的集成过程和遇到的问题。

首先进入展视互动平台-->帮助与下载-->开发者,如下图所示:

然后选择Android-Fast SDK集成开发文档:

下载Android sdk 如下图所示:

解压后得到如下的内容:

进而再将上图中红色标注的进行解压得到一个demo工程,demo的结构如下所示:

其中resourceLib是一个library工程,主要包含了聊天表情资源和资源的加载

fastSdk也是一个library工程,主要包括FastSDK相关的资源及资源加载

FastSdkDemo才是android  application工程,包含的测试输入界面

实际使用的jar和so在fastSdk的libs目录下,如需调整或更新的时候同时注意下resourceLib的libs目录的jar

demo就是android studio工程,直接导入AndroidStudio运行即可,如果导入失败或导入出错,请开发者自行创建一个工程,并对应的创建3个module(两个library,一个application),分别将对应的src和res移植到新建的工程中。然后fastSDK依赖resourceLib,demo或实际开发工程依赖于fastSDK。

下面我以AndroidStudio作为开发工具创建一个新的工程来进行直播的集成。

1.导入

将resourceLib和fastSdk作为library添加到新工程中如下图所示:

fastSDK依赖resourceLib,如下图所示:

实际开发工程依赖于fastSDK,如下图所示:

2.权限

<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" /> <uses-permission android:name="android.permission.READ_LOGS" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-feature android:name="android.hardware.camera.flash" /> <uses-feature android:name="android.hardware.camera.setParameters" />

说明:如果targetSdkVersion 大于或等于23的情况下,请各位开发者在代码中优先为app申请上面的权限,尤其是"android.permission.CAMERA, android.permission.RECORD_AUDIO,

android.permission.WRITE_EXTERNAL_STORAGE等。

3.实际开发工程清单文件activity

请各位开发者在实际工程中配置如下activity

<activity
            android:name="com.gensee.fastsdk.ui.portrait.PublishActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Black.NoTitleBar"
            android:windowSoftInputMode="stateAlwaysHidden|adjustNothing" />
        <activity

<activity
            android:name="com.gensee.fastsdk.ui.portrait.WatchActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Black.NoTitleBar"
            android:windowSoftInputMode="stateAlwaysHidden|adjustNothing" />

<activity
            android:name="com.gensee.fastsdk.ui.LiveActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:launchMode="singleTask"
            android:theme="@android:style/Theme.Black.NoTitleBar"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateAlwaysHidden|adjustResize">
        </activity>

4.调用:

 InitParam initParam = new InitParam();//若一个url为http://test.gensee.com/site/webcast   域名是“test.gensee.com”initParam.setDomain(et_domain.getText().toString());//设置对应编号,如果是点播则是点播编号,是直播便是直播编号。//请注意不要将id理解为编号。//作用等价于id,但不是id。有id可以不用编号,有编号可以不用idinitParam.setNumber(et_room_number.getText().toString());//设置站点认证账号 即登录站点的账号initParam.setLoginAccount("");//设置站点认证密码 即登录站点的密码,如果后台设置直播需要登录或点播需要登录,那么登录密码要正确  且帐号同时也必须填写正确initParam.setLoginPwd("");//设置昵称  用于直播间显示或统计   一定要填写initParam.setNickName(et_nickName.getText().toString());//可选 如果后台设置了保护密码 请填写对应的口令initParam.setJoinPwd(et_join_psw.getText().toString());//第三方认证K值,如果启用第三方集成的时候必须传入有效的K值initParam.setK(et_k.getText().toString());//若一个url为http://test.gensee.com/site/webcast ,serviceType是 ServiceType.WEBCAST,//url为http://test.gensee.com/site/training,serviceTypeserviceType是 ServiceType.TRAININGinitParam.setServiceType(serviceType);GSFastConfig gsFastConfig = new GSFastConfig();gsFastConfig.setPublish(isPublishMode);//是否是主播端,false和默认观看端gsFastConfig.setPublishScreenMode(GSFastConfig.PUB_SCREEN_MODE_PORTRAIT);//发布端屏幕方向gsFastConfig.setWatchScreenMode(watchScreenMode);//观看端屏幕方向gsFastConfig.setHardEncode(true);//编码方式:硬编,软编gsFastConfig.setPubQuality(GSFastConfig.PUB_QUALITY_SD);//视频分辨率//分屏观看端,界面配置gsFastConfig.setShowDoc(true);//是否显示文档gsFastConfig.setShowChat(true);//是否显示聊天gsFastConfig.setShowQa(true);//是否显示问答gsFastConfig.setShowIntro(true);//是否显示简介gsFastConfig.setShowPIP(true);//是否显示全屏模式画中画gsFastConfig.setShowHand(true);//是否显示举手
//      gsFastConfig.setShowRateSwitch(getBooleanFromPrefrences(SettingActivity.GS_RATE));gsFastConfig.setShownetSwitch(true);//是否显示优选网络gsFastConfig.setShowDanmuBtn(true);//是否显示弹幕开关gsFastConfig.setShowCloseVideo(true);//是否显示关闭视频gsFastConfig.setSkinType(GSFastConfig.SKIN_TYPE_NIGHT);//皮肤GenseeLive.startLive(MainActivity.this,gsFastConfig,initParam);}

到此已经全部集成完,运行工程可以进入如下的界面:

填入相应的参数就可以进入直播,如果想看demo的效果可以点击下载。

Android直播的集成相关推荐

  1. android 自定义推流器,Android直播实现 Android端推流、播放

    最近想实现一个Android直播,但是对于这方面的资料都比较零碎,一开始是打算用ffmpeg来实现编码推流,在搜集资料期间,找到了几个强大的开源库,直接避免了jni的代码,集成后只用少量的java代码 ...

  2. android 推流地址可以多人用,Android直播实现(一)Android端推流、播放

    Android直播实现(一)Android端推流.播放 最近想实现一个Android直播,但是对于这方面的资料都比较零碎,一开始是打算用ffmpeg来实现编码推流,在搜集资料期间,找到了几个强大的开源 ...

  3. Android直播软件开发中接入腾讯IM大概流程是怎样的

    现阶段来看,直播软件中的即时通讯是非常重要的一个部分,毕竟直播过程中的交流和沟通是非常重要的,所以在Android直播软件开发时需要接入相关的IM服务. 通常我们选择的即时聊天服务,会选择集成简单方便 ...

  4. Android直播实现(一)Android端推流、播放

    最近想实现一个Android直播,但是对于这方面的资料都比较零碎,一开始是打算用ffmpeg来实现编码推流,在搜集资料期间,找到了几个强大的开源库,直接避免了jni的代码,集成后只用少量的java代码 ...

  5. Android直播实现(Android端推流、播放)

    最近想实现一个Android直播,但是对于这方面的资料都比较零碎,一开始是打算用ffmpeg来实现编码推流,在搜集资料期间,找到了几个强大的开源库,直接避免了jni的代码,集成后只用少量的java代码 ...

  6. Android 直播 APP实现直播流程

    Android 直播 APP实现直播流程 直播本质 1. 主播端采集音视频 2. 视频处理(美颜,水印) 3. 视频编解码 视频编码框架 视频编码技术 压缩方式 视频编解码和压缩时的关键知识点 4. ...

  7. Android 直播 弹幕

    Android 直播 弹幕 弹幕使用场景 弹幕引擎(`B站开源弹幕`) DanmakuFlameMaster 特点 DanmakuFlameMaster 细节API 集成B站弹幕 参考 弹幕使用场景 ...

  8. Android直播系统的实现,直播APP开发Android端推流及播放

    想实现一个Android的直播系统,但是对于这方面的资料都比较零碎,一开始是打算用ffmpeg来实现编码推流,在搜集资料期间,找到了几个强大的开源库,直接避免了jni的代码,集成后只用少量的java代 ...

  9. Android直播带货系统中如何实现二维码扫描功能

    自李佳琦的出现将直播带货成功的引向了"巅峰",为了响应众平台和用户的需求,开发Android直播带货系统成为当下的开发热潮.那么在平时的直播软件中,登录.分享.支付等场景中经常出现 ...

最新文章

  1. 《深入浅出Windows Phone 8应用开发》
  2. 那些学校计算机招不满,那些招不满人的985院校,请留意!
  3. APK签名导出向导 - Use the Export Wizard
  4. Cython fatal error C1083: 无法打开包括文件: “numpy/arrayobject.h”: No such file or directory
  5. 直播预告 | 共识、区块链和全球一体化经济
  6. 使用pycharm配置flask项目,并使用git进行版本控制
  7. python什么时候用eval_Python:eval的妙用和滥用
  8. 【HDU5482】Numquam vincar,暴力(da biao)预处理+组合数
  9. 学习拾遗--用RadioButtonList 或者DropDownList 进行动态赋值问题
  10. VO、DTO、DO、PO的概念
  11. sklearn 中的 Pipeline 机制
  12. GitHub网站项目下载速度过慢、下载失败问题成功解决
  13. Linux中mount挂载命令及其概念
  14. jieba 使用笔记
  15. dosbox运行C语言,DOSBox-DOS模拟器-DOSBox下载 v0.74官方版-完美下载
  16. 瑟瑟发抖小网工之ISIS协议
  17. IPK轻量级密钥技术在电力卫星物联网中的接入与非证书签名认证
  18. 活水决策体系五:自我觉察与控制
  19. grafana设置邮件监控报警
  20. 放假在家/异地/无法使用学校局域网-如何快速登录知网/web of science等学术平台

热门文章

  1. 湖北省黄石市谷歌高清卫星地图下载
  2. Linux 裁剪并交叉编译openssl库
  3. 安川工业机器人实训心得_MOTOMAN安川工业机器人基础解析
  4. cad看图软件怎么才能将JPG转换为CAD
  5. 2021 最新分享 Java 面试题库万字精华 github 上标星 80
  6. 无损flac文件转mp3格式转换器如何选择?
  7. 微信域名批量检测的实现原理
  8. 浩易南:少用信用卡,少逛淘宝,多用现金
  9. 异形结构的纳米材料:纳米团簇/纳米丝/纳米棒/纳米管的相关研究
  10. 搭建SNS游戏服务器