安卓NetSdk使用说明
产品介绍
千眸 Android NetSdk是一套基于Android 5.0及以上版本设备的应用程序接口。 您可以使用本套SDK开发Android系统移动设备监控应用,您可以轻松远程操作设备,完成功能丰富,交互性强的监控类应用程序APP。
使用说明
- 引入.aar文件(例如:implementation project(path: ‘:netsdklibrary’) )
- Sync Now进行项目同步,无报错表示同步成功。
所需权限
<uses-permission android:name="android.permission.INTERNET" />
开放接口功能列表
- 初始化
/**
* 初始化
* @param callback
*/
public static native void nativeInit(Object callback);
- 退出初始化
/**
* 退出初始化
*/
public static native void nativeUninit();
- 设备登录
/**
* 设备登录
* @param sn 设备SN账号
* @param username 设备用户名
* @param password 设备密码
* @return 登录结果
*/
public static native long nativeLogin(String sn, String username, String password);
- 设备退出登录
/**
* 设备退出登录
*/
public static native void nativeLogout();
- 开始实时预览
/**
* 开始实时预览
* 数据在NetSdkCallback的previewCallback接口中返回
*/
public static native void nativeStartPreview();
- 停止实时预览
/**
* 停止实时预览
*/
public static native void nativeStopPreview();
- 获取该时间段内录像信息
/**
* 获取该时间段内录像信息
* @param streamType 0
* @param channel 1
* @param startTime 录像开始时间
* @param endTime 录像结束时间
* @return 搜索出该时间段的录像JSON数据
*/
public static native String nativeSearchRecord(int streamType, int channel, String startTime, String endTime);
- 按月搜索录像
/**
* 按月搜索录像
* @param streamType 0
* @param channel 1
* @param year 年份
* @param month 月份
* @return 返回一个十进制Long类型数据,需转换为二进制 0表示改天没有录像,1表示有
*/
public static native long nativeSearchRecordDayOfMonth(int streamType, int channel, int year, int month);
- 设置回放时间
/**
* 设置回放时间
* @param streamType 0
* @param startTime 设置的回放开始时间
* @param endTime 设置的回放结束时间
*/
public static native void nativePlayback(int streamType, String startTime, String endTime);
- 回放操作
/**
* 回放操作
* @param cmd 对其进行操作的类型(详细可见PlayBackEntity类)
* @param startTime null
*/
public static native void nativePlaybackControl(int cmd, String startTime);
- 获取设备配置
/**
* 获取设备配置
* @param channel -1
* @param command 想获取的设备配置类型(详细可见ConfigurationEntity类)
* @param defaultConfig 是否获取默认配置
* @return 获取到的设备配置信息(JSON格式)
*/
public static native String nativeGetConfig(int channel, int command, boolean defaultConfig);
- 设置设备配置
/**
* 设置设备配置
* @param channel -1
* @param command 想设置的设备配置类型(详细可见ConfigurationEntity类)
* @param data 修改的设备属性(JSON格式)
*/
public static native void nativeSetConfig(int channel, int command, String data);
- 修改设备密码
/**
* 修改设备密码
* @param username 修改的用户名
* @param oldPassword 设备旧密码
* @param newPassword 设备新密码
* @return 修改设备密码结果(详细可见PwdChangeEntity类,返回1为修改成功)
*/
public static native long nativeModifyPassword(String username, String oldPassword, String newPassword);
- 搜索设备
/**
* 搜索设备
* @return 搜索到的设备信息(JSON格式)
*/
public static native String nativeSearchDevice();
- 设备云台控制
/**
* 设备云台控制
* @param channel 0(详细可见CloudEntity类)
* @param command 云台操作控制(详细可见CloudOperationEntity类)
* @param action 开始/结束
* @param extend 预置点(如不是预置点传0)
*/
public static native void nativePtzControl(int channel, int command, int action, int extend);
- 设备数据返回接口
/**
* 设备数据返回接口
*/
public interface NetSdkCallback {
/**
* 设备断线接口
*/
void disconnectCallback();
/**
* 实时预览数据回调接口
* @param frameType 返回数据帧类型(详细可见FrameTypeEntity类)
* @param data 返回预览数据
*/
void previewCallback(int frameType, byte[] data);
/**
* 录像回放数据回调接口
* @param frameType 返回数据帧类型(详细可见FrameTypeEntity类)
* @param time 返回的数据时间
* @param data 返回回放数据
*/
void playbackCallback(int frameType, String time, byte[] data);
/**
* 录像回放播放进度接口
* 注:该接口只会在该回放片段播放完毕时触发
* @param total 总数量
* @param current 当前播放数量
*/
void playbackProgressCallback(int total, int current);
}