SDK直播核心功能集成

@[toc]

1. 登录

1.1 主动调用API

直播需要主动调用的方法在DWPushSession.java中(DWPushSession为单例)中,如下:

方法说明
getInstance()获取DWLogin实例
login(String userId, String roomId, String username, String password,final OnLoginStatusListener loginStatusListener)登录
release()释放

1.2 回调事件API

1.2.1 OnLoginStatusListener

登录回调

方法说明
void successed()登录成功后的回调
void successed(PushConfig s)登录成功后的回调
void failed(DWPushException e)登录失败后回调

1.3 关键代码示例

登录

释放

2. 推流

2.1 主动调用API

2.1.1 推流配置构建

推流时的配置构建需要主动调用DWPushConfigBuilder.java(Build模式),如下:

方法说明
DWPushConfigBuilder()构建DWPushSessionBuilder实例
cameraType(@CameraType int cameraType)相机类型
orientation(@Orientation int orientation)推流方向
videoResolution(@Resolution int videoResolution)推流分辨率
(新增)videoResolution(@Resolution String videoResolution)推流分辨率
bitrate(int bitrate)码率
fps(int fps)帧率
beauty(boolean isBeauty)是否使用美颜
rtmpNodeIndex(int index)选择推送节点
build()构建DWPushConfig实例
2.1.2 推流操作

推流相关操作需要主动调用DWPushSession.java,如下:

方法说明
setTextureView(DWTextureView textureView)设置渲染层
prepare(DWPushConfig pushConfig)开始预览
start(DWPushConfig pushConfig, DWOnPushStatusListener pushStatusListener)开始推流
updateVolume(int volume)调节音量
updateBeautifulLevel(whiteLevel, skinLevel, pinkLevel)调节美颜
closeBeauty()关闭美颜
openBeauty()打开美颜
updateIcon(Bitmap bitmap, Rect rect)调节水印
setIcon(Bitmap bitmap, Rect rect)初始化水印
setBeautifulLevel(int whiteLevel, int skinBlurLevel, int pinkLevel)初始化美颜级别
setVolume(int volume)初始化音量
onResume(boolean isPush)生命周期
onPause()生命周期
onDestory()生命周期
switchCamera()切换摄像头
toggleFlashlight()开启/关闭闪光灯
getRoomUserCount()获取直播间人数
sendChatMsgToAll(String msg)发送公聊信息
sendMsgToOne(String userId, String userName, String msg)发送私聊信息
stop()停止推流
(新增)getPushConfig(final DWPushConfigListener callback)获取推流信息
注意:getRoomUserCount**该方法俩次调用时间间隔最少5S 少于5S SDK内屏蔽当前请求 

2.2 回调事件API

2.2.1 DWOnPushStatusListener

推流回调

方法说明
onConfigMessage(String liveId)配置信息liveid回调
onSuccessed()连接成功回调
onDisconnected()连接断开回调
fonFailed(String message)连接失败回调
onReconnect()重连回调
onClosed(int action)连接关闭回调
(新增)onCurrentInfo(LiveCurrentInfo info)回调直播中的信息LiveCurrentInfo

2.2.2 OnChatMsgListener

聊天回调

方法说明
onReceivedPublic(ChatUser from, ChatMsg msg, boolean isPublisher)接收公聊信息回调
onReceivedPrivate(ChatUser from, ChatUser to, ChatMsg msg, boolean isPublisher)接收私聊信息回调
onError(String errorMsg)聊天出现错误

2.2.3 OnChatRoomListener

直播间回调

方法说明
onRoomUserCountUpdate(int count)成功获取直播间人数回调

2.3 关键示例代码

2.3.1 构建DWPushConfig实例

2.3.2 获取推流配置信息

2.3.3 开始推流

2.3.4 停止推流

2.3.5 切换摄像头

2.3.6 开启/关闭闪光灯

2.3.7 初始化音量

2.3.8 初始化美颜级别

2.3.9 初始化水印

2.3.10 推流过程中调节音量

2.3.11 推流过程中调节美颜级别

2.3.12 推流过程中更新水印

2.3.13 发送公聊

2.3.14 发送私聊

2.3.15 获取直播间人数

2.3.16 布局文件设置DWTextureView(DWTextureView继承自TextureView):

注意
DWTextureView初始化,具体参考demo

2.3.17 直播带货:

使用直播带货需引入组件库

需要在应用启动后初始化组件

2.3.17.1 判断直播带货开关
2.3.17.2 获取互动组件token
2.3.17.3 提供了默认界面样式 可直接使用
2.3.17.4 如果需要自定义界面,可参照该文档

其他api说明

 

 

 

2.4 备注

必须把DWPushSession与Activity的生命周期进行统一管理,如下

3. 测速

3.1 主动调用API

测速需要主动调用API在DWRtmpNodeTool.java(工具类,不可实例化)中,如下:

方法说明
testSpeedForRtmpNodes(final OnTestSpeedFinishListener listener)节点测速

3.2 回调事件API

3.2.1 OnTestSpeedFinishListener

测速回调

方法说明
onFinish(ArrayList rtmpNodes)测速完成回调
void onError(String message)测速出错回调

3.3 关键示例代码

 

4. demo使用

  1. 在res/values/strings.xml里面进行测试账号配置
  2. 通过扫描二维码或者手动输入账号信息

      注:目前demo是Android Studio版本。

 






(已经到底部)