Ucloud直播云SDK的简单集成
来源:互联网 发布:手机选购 知乎 编辑:程序博客网 时间:2024/05/18 02:26
近段时间在做有关直播的项目,对ucloud的云直播sdk也有所了解,下面就来说说集成。
推流:
1.首先去ucloud官网下载最新的sdk,注意还有lib下面.so文件也要放到自己的项目中去。(目前只有armeabi-v7a的包,官方说很快会有其他包。注意:若项目中还用到其他.so,使用时lib下面的文件夹都要有相应的.so文件,否则会出现崩溃)。
2.布局文件:
<com.ucloud.live.widget.UAspectFrameLayout android:id="@+id/container" android:layout_gravity="center" android:background="@color/color_progress" android:layout_width="match_parent" android:layout_height="match_parent"></com.ucloud.live.widget.UAspectFrameLayout>
3.java代码:
官方Demo中有不少类,这里我只讲重点部分
①初始化
protected EasyStreaming mEasyStreaming;protected UStreamingProfile mStreamingProfile;
//设置推流地址
第一个参数为推流地址的host,如publish3.cdn.ucloud.com.cn, 第二个参数为id,整个推流即:rtmp://publish3.cdn.ucloud.com.cn/id
UStreamingProfile.Stream stream = new UStreamingProfile.Stream(rtmpPushStreamDomain, "ucloud/" + mSettings.getPusblishStreamId());mPreviewContainer.setShowMode(UAspectFrameLayout.Mode.FULL);//设置 上下文对象、显示的控件Id、视频编码类型、摄像头(前)、视频编码比特率,帧率等等mStreamingProfile = new UStreamingProfile.Builder() .setContext(this) .setPreviewContainerLayout(mPreviewContainer) .setEncodeType(mSettings.getEncoderType()) .setCameraId(whichCamera) .setResolution(UStreamingProfile.Resolution.RATIO_AUTO) .setVideoBitrate(mSettings.getVideoBitRate()) .setVideoFrameRate(mSettings.getVideoFrameRate()) .setAudioBitrate(UStreamingProfile.AUDIO_BITRATE_NORMAL) .setVideoCaptureOrientation(mSettings.getVideoCaptureOrientation())//UStreamingProfile.ORIENTATION_LANDSCAPE or UStreamingProfile.ORIENTATION_PORTRAIT .setStream(stream).build();handleShowStreamingInfo(mStreamingProfile.getEncodeType());mEasyStreaming = UEasyStreaming.Factory.newInstance(mStreamingProfile);mEasyStreaming.addListener(this);②开始推流if (mEasyStreaming != null) { mEasyStreaming.startRecording();}
注意:OnPause(),OnResum(),OnDestory()中要重写:@Overrideprotected void onPause() { super.onPause(); Log.e(TAG, "lifecycle->demo->activity->onPause"); //if UEasyStermaing no inited in activity onCreate method , you need call this method after inited -> function as camera stopPreivew() mEasyStreaming.onPause();}@Overrideprotected void onResume() { super.onResume(); Log.e(TAG, "lifecycle->demo->activity->onResume"); //if UEasyStermaing no inited in activity onCreate method, you need call this method after inited -> function as camera startPreivew() mEasyStreaming.onResume();}@Overrideprotected void onDestroy() { super.onDestroy(); if(mSettings.isOpenLogRecoder()) { Log2FileUtil.getInstance().stopLog(); } Log.e(TAG, "lifecycle->demo->activity->onDestroy"); mEasyStreaming.onDestroy();}
③停止推流if (mEasyStreaming != null) { mEasyStreaming.stopRecording();}
④其他设置
切换摄像头:if (mEasyStreaming != null) { mEasyStreaming.switchCamera();}
打开、关闭闪光灯if (mEasyStreaming != null) { mEasyStreaming.toggleFlashMode();}
注意:本文从官方Demo中抽出重点,集成时请结合官方Demo和文档。
0 0
- Ucloud直播云SDK的简单集成
- 使用ucloud直播平台SDK和环信IM低仿映客直播APP的应用
- ucloud直播云接口地址
- 集成某直播SDK碰到的问题
- 直播简单集成-网易云
- 腾讯云互动直播SDK集成综述
- eclipse集成腾讯云直播sdk
- 简单的实现融云SDK集成
- ucloud直播云使用推流时在自己的域名添加cname的步骤
- ucloud发送短信的php sdk
- Ucloud直播技术细节
- 项目集成腾讯直播sdk遇到的bug
- UCloud,云的圆梦人
- UCloud 的安全秘钥(简单)解题报告
- B. UCloud 的安全秘钥(简单)
- 直播解决方案/sdk的选择
- 七牛非Cocoapods 手动集成霹雳直播SDK(通用版)
- 云服务SDK 的嵌入直播系统源码ICould!
- 多线程安全性
- 解析XML的四种方式
- UVA 129 - Krypton Factor
- JavaScript引用类型——Function
- 通过okHttpUtils实现文件的上传下载
- Ucloud直播云SDK的简单集成
- Linux IO模式及 select、poll、epoll详解
- iOS开发 获取手机型号
- epoll用法详解 优点
- 【HDOJ 5834】Magic boy Bi Luo with his excited tree(树型DP)
- React Native自定义导航栏
- Android Service后台服务进程意外被kill掉之后如何重启
- 网络请求工具类
- 关于【逆元】和【lucas定理】