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()