录屏直播SDK( Android版)接入文档

文档概述

此文档为录屏直播SDK_Android客户端接入文档。 本文介绍如何在Android平台下,快速接入西瓜api。
文档分成三大部分:
1.接入准备工作
2.接口说明
3.接口调试以及注意事项
4.服务器端配置

文档结构

  1. 接入准备工作
  2. 接口说明
  3. 接口调试
  4. 服务器端配置

1 接入准备工作

1.1 SDK下载包

</a> 渠道版SDK下载包包含:
LiveSDK作为XGSDK的插件包,接口已经集成到了xgsdk-api中,在使用的时候,只需要在程序里面先调用LiveSDK的接口。 西瓜SDK的Jar包:
api 下载

在AndroidManifest.xml添加如下代码:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
<uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />

1.2 后台配置

请联系西瓜运营人员配置

2 接口说明

2.1 初始化直播

原生接口:

public void initXgLiveRtmpUrl(Activity activity, String url, int stateType, XgLiveCallback  xgLiveCallback);
···
```java
public void initXgLiveRtmpUrl(String url, int stateType, XgLiveCallback xgLiveCallback);

Unity接口:

public static void initXgLiveRtmpUrl(string url, int stateType);

注:Unity通过XGSDKCallback回调。

参数:

1.当前Activity。

2.直播服务器端地址。

3.直播本地保存与及时上传,包括三种类型:

public static final int LIVE_STATE_SAVEFILES = 0x1010; // 本地保存

public static final int LIVE_STATE_UPLOAD = 0x1011; //及时上传

public static final int LIVE_STATE_UPLOAD_SAVEFILES = 0x1012; //本地保存及及时上传

注:Unity种类型值已在XGSDKEntity.Constants中声明,看直接使用。

4.直播连接状态回调,其中

>>>>>>> 1e3c6654170d3bcd723ee524d173b7119450bedc
public interface XgLiveCallback {
    void onXgLiveConnected(); // 已连接

    void onXgLiveReconnecting(int times); // 正在连接

    void onXgLiveDisconnect(); //已断开

    void onXgLiveStatusEvent(int delayMs, int netBand); // 直播延迟时间与带宽大小
}

注:Unity通过XGSDKCallback回调,游戏分别实现即可。

以上参数都不能为空,而且Url必要按照格式传入,否者服务器端无法接收直播的内容

原生:

XGSDK.getInstance().initXgLiveRtmpUrl(activity,url, Const.LIVE_STATE_UPLOAD, new XgLiveCallback() {
                    @Override
                    public void onXgLiveStatusEvent(int delayMs, int netBand) {


                    }

                    @Override
                    public void onXgLiveReconnecting(int times) {


                    }

                    @Override
                    public void onXgLiveDisconnect() {


                    }

                    @Override
                    public void onXgLiveConnected() {


                    }
                });

原生:

XGSDK.getInstance().initXgLiveRtmpUrl(url, Const.LIVE_STATE_UPLOAD, new XgLiveCallback() {
    @Override
        public void onXgLiveStatusEvent(int delayMs, int netBand) {


        }

        @Override
        public void onXgLiveReconnecting(int times) {


        }

        @Override
        public void onXgLiveDisconnect() {


        }

        @Override
        public void onXgLiveConnected() {


        }
});
XGSDK2.instance.initXgLiveRtmpUrl (url, XGSDKEntity.Constants.LIVE_STATE_UPLOAD);
//直播onXgLiveConnected回调
public override void onXgLiveConnected(string msg)
{

}

//直播onXgLiveReconnecting回调
public override void onXgLiveReconnecting(int times)
{

}

//直播onXgLiveDisconnect回调
public override void onXgLiveDisconnect(string msg)
{

}

//直播onXgLiveStatusEvent回调
public override void onXgLiveStatusEvent(int delayMs, int netBand)
{

}

2.2 开启直播

接口:

public void xgLiveStart();

调用此接口可以调起直播

原生:

XGSDK.getInstance().xgLiveStart();

Unity:

XGSDK2.instance.xgLiveStart();

2.3 关闭直播

接口:

public void xgLiveStop();

调用此接口可以关闭直播

原生:

XGSDK.getInstance().xgLiveStop();

Unity:

XGSDK2.instance.xgLiveStop();

3 接口调试注意事项

接入录屏直播的android系统版本应该在5.0.1以上。

4 录屏直播服务器端配置

需要在第三方服务器端配置Server和stream

例如,当传递的url为rtmp://10.20.72.81/live/test12345, Server应该配置为rtmp://10.20.72.81/live,Stream应该配置为test12345