3. 接口说明

这里仅介绍关键几个类的一些函数,要了解更多的函数,请查看对应的类接口。

3.1 DeviceClient命令控制类

  1/**
  2 * 创建通讯通道.
  3 * @param host 目标IP
  4 * @param port 目标端口号
  5 * @return 是否执行成功
  6 */
  7boolean create (String host, int port)
  8
  9/**
 10 * 判断是否连接通道成功(仅TCP有效)
 11 *
 12 * @return 返回结果
 13 */
 14boolean isConnected ()
 15
 16/**
 17 * 向通道发送数据
 18 *
 19 * @param cmdInfo  命令数据
 20 * @param response 发送回调
 21 */
 22void send (CmdInfo cmdInfo, SendResponse response)
 23
 24/**
 25 * 关闭通信通道
 26 */
 27void close ()
 28
 29/**
 30 * 注册通讯连接监听器(仅TCP有效)
 31 *
 32 * @param listener 监听器
 33 */
 34void registerConnectStateListener (OnConnectStateListener listener)
 35
 36/**
 37 * 解除通讯连接监听器的注册(仅TCP有效)
 38 *
 39 * @param listener 监听器
 40 */
 41void unregisterConnectStateListener (OnConnectStateListener listener)
 42
 43/**
 44 * 注册通讯数据回调监听器
 45 *
 46 * @param listener 监听器
 47 */
 48void registerNotifyListener (OnNotifyListener listener)
 49
 50/**
 51 * 解除通讯数据回调监听器的注册
 52 *
 53 * @param listener 监听器
 54 */
 55void unregisterNotifyListener (OnNotifyListener listener)
 56
 57/**
 58 * 释放资源
 59 */
 60void release ()
 61
 62/**
 63 * 向通讯通道发送PUT请求
 64 *
 65 * @param cmdInfo  PUT命令数据
 66 * @param response 发送回调
 67 */
 68void tryToPut (SettingCmd cmdInfo, SendResponse response)
 69
 70/**
 71 * 请求录像操作
 72 *
 73 * @param open  是否录像
 74 * @param sendResponse 发送回调
 75 */
 76void tryToRecordVideo (boolean open, SendResponse sendResponse)
 77
 78/**
 79 * 请求拍照操作
 80 *
 81 * @param sendResponse 发送回调
 82 */
 83void tryToTakePhoto (SendResponse sendResponse)
 84
 85/**
 86 * 请求打开实时流操作
 87 *
 88 * @param camera       摄像头类型(主摄像头/后摄像头)
 89 * @param format       数据格式(0:JPEG,1:H264)
 90 * @param w            实时流宽度
 91 * @param h            实时流高度
 92 * @param frameRate    实时流帧数
 93 * @param sendResponse 发送回调
 94 */
 95void tryToOpenRTStream (int camera, int format, int w, int h, int frameRate, SendResponse sendResponse)
 96
 97/**
 98 * 请求关闭实时流操作
 99 *
100 * @param camera       摄像头类型(主摄像头/后摄像头)
101 * @param sendResponse 发送回调
102 */
103void tryToCloseRTStream (int camera, SendResponse sendResponse)
104
105/**
106 * 请求保活操作
107 *
108 * @param sendResponse 发送回调
109 */
110void tryToKeepAlive (SendResponse sendResponse)
111
112/**
113 * 请求接入设备操作
114 *
115 * @param version      Apk版本号
116 * @param sendResponse 发送回调
117 */
118void tryToAccessDevice (String version, SendResponse sendResponse)
119
120/**
121 * 请求媒体文件列表信息操作
122 *
123 * @param camera       摄像头类型(主摄像头/后摄像头)
124 * @param sendResponse 发送回调
125 */
126void tryToRequestMediaFiles (int camera, SendResponse sendResponse)
127
128/**
129 * 设备同步手机时间
130 *
131 * @param date         手机时间(格式:yyyyMMddHHmmss)
132 * @param sendResponse 发送回调
133 */
134void tryToSyncDevDate(String date, SendResponse sendResponse)
135
136/**
137 * 请求格式化设备SD卡
138 *
139 * @param sendResponse 发送回调
140 */
141void tryToFormatTFCard(SendResponse sendResponse)

3.2 RealtimeStream实时数据流控制类

 1/**
 2 * 创建实时流数据通道
 3 * @param port 本地端口号
 4 * @return 是否成功
 5 */
 6public boolean create(int port)
 7
 8/**
 9 * 创建实时流数据通道
10 * @param port 本地端口号
11 * @param IP 本地地址,可不写
12 * @return 是否连接成功
13 */
14public boolean create(int port, String IP)
15
16/**
17 * 关闭实时流数据通道
18 */
19@Override
20public boolean close()
21
22/**
23 * 设置显示的宽高,JPEG数据流才用到
24 * @param width 宽(默认640)
25 * @param height 高(默认480)
26 * @return 是否成功
27 */
28@Override
29public boolean setResolution(int width, int height)
30
31/**
32 * 释放资源
33 */
34@Override
35public boolean release()
36
37/**
38 * 注册实时流监听器
39 * @param listener 监听器
40 */
41@Override
42public void registerStreamListener(IPlayerListener listener)
43
44/**
45 * 解除实时流监听器的注册.
46 * @param listener 监听器
47 */
48@Override
49public void unregisterStreamListener(IPlayerListener listener)
50
51/**
52 * 是否使用设备的时间戳,默认不使用
53 * @param isUseDeviceTimestamp 是否使用设备的时间戳
54 */
55@Override
56public void useDeviceTimestamp(boolean isUseDeviceTimestamp)
57
58/**
59 * 配置多个数据流的端口信息
60 * @param videoPorts 视频目标端口号数组
61 * @param audioPorts 音频目标端口号数组
62 * @return 是否成功
63 */
64@Override
65public boolean configure(int[] videoPorts, int[] audioPorts)
66
67/**
68 * 配置数据流的端口信息
69 * @param videoPort 视频目标端口号
70 * @param audioPort 音频目标端口号
71 * @return 是否成功
72 */
73public boolean configure(int videoPort, int audioPort)
74
75/**
76 * 设置静音
77 * @param state 状态
78 */
79@Override
80public void setMute(boolean state)

3.3 PlaybackStream回放数据流控制类

 1/**
 2 * 创建回放数据流通道
 3 * @param port    目标端口号
 4 * @param IP      目标ip
 5 * @return 是否成功
 6 */
 7@Override
 8public boolean create(int port, String IP)
 9
10/**
11 * 创建回放数据流通道
12 * @param port 目标端口号
13 * @param IP 目标ip
14 * @param mode {@link Mode#PLAYBACK}, {@link Mode#DOWNLOAD}, {@link Mode#CLIP}
15 * @return 是否成功
16 */
17@Override
18public boolean create(int port, String IP, int mode)
19
20/**
21 * 关闭回放数据流通道
22 * @return 是否成功
23 */
24@Override
25public boolean close()
26
27/**
28 * 释放资源
29 * @return 是否成功
30 */
31@Override
32public boolean release()
33
34/**
35 * 注册回放数据流监听器, 仅播放模式有效
36 * @param player 数据流监听器
37 */
38@Override
39public void registerStreamListener(IPlayerListener player)
40
41/**
42 * 解除回放数据流监听器, 仅播放模式有效
43 * @param player 数据流监听器
44 */
45@Override
46public void unregisterStreamListener(IPlayerListener player)
47
48/**
49 * 设置下载文件的总时长(单位为秒),仅下载模式有效
50 * @param duration 时间长度(单位为秒)
51 */
52@Override
53public void setDownloadDuration(int duration)
54
55/**
56 * 注册下载监听器,仅下载模式有效
57 * @param listener 下载监听器
58 */
59@Override
60public void setOnDownloadListener(OnDownloadListener listener)
61
62/**
63 * 注册缓冲状态监听器,仅播放模式有效
64 * @param listener 缓冲状态监听器
65 */
66@Override
67public void setOnBufferingListener(OnBufferingListener listener)
68
69/**
70 * 获取当前时间(单位为毫秒)
71 * @return 当前时间
72 */
73@Override
74public long getCurrentPosition()
75
76/**
77 * 获取当前文件流的媒体信息,如宽高,帧率等
78 * @return 文件流信息
79 */
80@Override
81public MediaInfo getCurrentMediaInfo()