Android直播的集成

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

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

Android直播的集成_第1张图片

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

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

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

Android直播的集成_第2张图片

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

Android直播的集成_第3张图片

下载Android sdk 如下图所示:

Android直播的集成_第4张图片

 

解压后得到如下的内容:

Android直播的集成_第5张图片

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

Android直播的集成_第6张图片

其中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添加到新工程中如下图所示:

Android直播的集成_第7张图片

fastSDK依赖resourceLib,如下图所示:

Android直播的集成_第8张图片

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

Android直播的集成_第9张图片

2.权限

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

android.permission.WRITE_EXTERNAL_STORAGE等。

3.实际开发工程清单文件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" />
       

            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" />

            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">
       

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可以不用编号,有编号可以不用id
        initParam.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.TRAINING
        initParam.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);
    }

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

Android直播的集成_第10张图片

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

你可能感兴趣的:(android进阶)