Docs
Resources
Tools
News
to top

RCS

SDK 初始化

1. 准备 SDK 库和接口

SDK 库文件包括:

  • avatar.jar 协议栈相关
  • zmf.jar 音视频媒体相关
  • liblemon.so RCS SDK
  • libzmf.so 音视频媒体相关
  • MtcCliHelper.jar 网络切换自动重连插件

SDK 接口文件包括:com.juphoon.cmcc.app.lemon 包括 SDK 所有接口

SDK 回调文件包括: com.juphoon.cmcc.app.lemon.callback 包括 SDK 所有回调

SDK License 包括:license.sign SDK license 文件

2. 导入 SDK

  • 将 liblemon.so、libzmf.so、libtsc.so 文件拷贝到 libs/armeabi-v7a 目录下。
  • 将 avatar.jar、zmf.jar、MtcCliHelper.jar文件拷贝到工程的 libs 目录下,并在工程属性->Java Build Path->Libraries 中选择“Add JARs”,选定 avatar.jar、zmf.jar、MtcCliHelper.jar,确定后返回。
  • 将 com.juphoon.cmcc.app.lemon 和 com.juphoon.cmcc.app.lemon.callback 拷贝到工程的 src文件夹下。
  • 将 license.sign 拷贝到工程的 assets 文件夹下。

完成以上步骤,您就可以在程序中使用 Juphoon SDK 了。

3. 设置 AndroidManifest.xml

声明使用权限,根据应用需要声明:

 // 以下为运行 Juphoon SDK 必要的权限
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

4. 新建 SDK 运行目录

在SD 卡根目录下新建 SDK 运行目录,包括:

  • appName: SDK 根目录
  • profiles: 配置文件目录
  • log: SDK 日志输出目录
String sdCardPath = /sdcardpath; // 获取 SD 卡目录
String RCSPath = sdCardPath + "/" + appName; 
File file = new File(RCSPath);
file.mkdirs(); // 在 SD 卡目录下建立 SDK 根目录
String profileDir = RCSPath + “/profiles”;
file = new File(profileDir);
file.mkdirs(); // 在 SD 卡目录下建立 profiles 目录
String logDir = RCSPath + “/log”;
file = new File(logDir);
file.mkdirs(); // 在 SD 卡目录下建立 log  目录

5. 加载 SDK 库文件

在 Application 中加载 SDK 库文件

if (Build.CPU_ABI .equals ("armeabi-v7a" ) || Build.CPU_ABI2 .equals ("armeabi-v7a" )) {
	// 媒体引擎对 CPU 有要求
	System. loadLibrary("zmf"); //加载媒体库
	System. loadLibrary("tsc"); //加载 STG 库
	System. loadLibrary("lemon"); //加载 SDK 库
}

6. 设置 SDK 日志路径

logDir 即3步骤中创建的日志输出目录

MtcCliCfg.Mtc_CliCfgSetLogDir(logDir);

7. 设置 SDK application Context

SDK 需要 application context 来启动通信组建

Mtc_CliCfgSetContext(getApplicationContext());

8. 设置 SDK License

将 assets 中的 license.sign 导入手机,如:

String path = applicationContext.getFilesDir().getAbsolutePath(); // 将要写入的路径
AssetManager assetManager = context.getAssets();
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open(“license.sign”); // 打开 assets 中的 license.sign
	out = new FileOutputStream(path + “license.sign”); // 写入path 中
	byte[] buffer = new byte[1024];
	int read;
	while ((read = in.read(buffer)) != -1) {
		out.write(buffer, 0, read);
	}
	in.close();
	in = null;
	out.flush();
	out.close();
	out = null;
} catch (Exception e) {
	e.printStackTrace();
}

设置license 路径

String licensePath = applicationContext.getFilesDir().getAbsolutePath() + “license.sign”;
MtcCliCfg.Mtc_CliCfgSetLicenseFileName(licensePath);

9. 初始化媒体引擎

Juphoon SDK 包含强大的音视频引擎 zmf。初始化媒体引擎只需要调用以下接口:

ZmfAudio. initialize(applicationContext); //初始化音频
ZmfVideo. initialize(applicationContext); //初始化视频

10. 初始化 SDK 定时器

ZpandTimer.init(applicationContext, applicationName); // 初始化 SDK 定时器

11. 初始化 SDK

profilesDir 即3步骤中创建的 SDK 运行目录

int ret = MtcCli.Mtc_CliInit(profilesDir);

ret 为 MtcCommonConstants.ZOK 时,启动成功

ret 为 MtcCommonConstants.ZFAILED,启动失败

至此 SDK 初始化结束。

Juphoon © 2015 中文(简体)
关于我们 JusTalk 开发人员 招聘 隐私政策