-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathReadMe_请先读我.txt
396 lines (326 loc) · 16.3 KB
/
ReadMe_请先读我.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
NetSDK Android 开发包说明
1). 依赖库说明
- 其中P2P登录功能需要依赖于 P2P 库.
- 涉及播放(预览和回放)功能依赖于 PlaySDK 库.
- Wifi配置,设备连接Wifi,把设备配置到网络上需要依赖于 SmartConfig 库.
- jar包以及库的路径: NetSDK_Chn_Android\DemoSource\AndroidDemo\app\libs
- NetSDK的jar包: INetSDK.jar
- NetSDK库: libconfigsdk.so libjninetsdk.so libnetsdk.so
- PlaySDK的jar包: IPlaySDK.jar
- PlaySDK库: libplay.so libjniplay.so libgnustl_shared.so libhwdec.so
- P2P的jar包: libToUProxy.jar
- P2P库: libToUProxy.so
- SmartConfig的jar包:SmartConfig.jar
- SmartConfig库: libjnismartconfig.so
- 声波配对的jar包 audiopairsdk.jar
- 声波配对库 libAudioPairSDK.so
2). 开发包目录说明
- Demo目录
包含可安装的apk文件及demo功能快照
- DemoSource目录
包含AndroidDemo的示例源码
- ProgrammingManual目录
NetSDK库的接口说明文档
3). 注意事项
- 需要额外配置模块的build.gradle文件,用于加载so文件。(gradle 版本大于0.5)
在app的build.gradle的android节点下设置
android {
...
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
///////////////////////////////////////////////////////////////////
【设备搜索】
1. 功能概要:
主要功能有:组播和广播搜索(同一个网络搜索,不能跨网段搜索)
2. Demo中涉及到的接口如下:
1) 开始搜索接口:INetSDK.StartSearchDevices
回调函数 CB_fSearchDevicesCB
2) 停止搜索接口:INetSDK.StopSearchDevices
3. 注意事项:
无
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【设备初始化】
1. 功能概要:
主要功能有:组播初始化和单播初始化
2. Demo中涉及到的接口如下:
1) 开始搜索接口:INetSDK.StartSearchDevices
回调函数 CB_fSearchDevicesCB
停止搜索接口:INetSDK.StopSearchDevices
2) 组播初始化接口:INetSDK.InitDevAccount
3) 单播初始化接口:INetSDK.InitDevAccountByIP
3. 注意事项:
[1]初始化之前,要先确定设备已经连接网络
[2]在设备初始化之前,要先根据设备搜索判断设备是否支持初始化。 [3]有些设备组播初始化成功率高,有些设备单播初始化成功率高,所以一般情况下,俩个接口一起调用,有一个接口成功,则成功。
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【智能配置】
1. 功能概要:
主要功能有:WIFI配对和声波配对,主要是将设备添加到路由的网络上
2. Demo中涉及到的接口如下:
1) 开始搜索接口:INetSDK.StartSearchDevices
回调函数 CB_fSearchDevicesCB
停止搜索接口:INetSDK.StopSearchDevices
2) 开始WIFI配置接口:ISmartConfig.StartSearchIPCWifi
停止WIFI配置接口:ISmartConfig.StopSearchIPCWifi
3) 开始声波配对接口:playAudioData
停止声波配对接口:stopAudioData
3. 注意事项:
[1]在配置之前,手机压连接路由的WIFI(需要将设备添加到哪个WIFI,就连哪个)
[2]WIFI配对和声波配对,调用开始接口后,会不停的发送信息进行配置,具体有没有配置成功,是通过设备搜索判断的。
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【AP配置】
1. 功能概要:
主要功能有:跟智能配置的目的一样,将设备添加到路由的网络上,只是实现方式不一样。
功能步骤:1)将设备的热点打开,连接设备的热点
2)通过搜索判断设备有没有初始化。
如果已初始化,直接登录设备;
如果没有初始化,先对设备初始化,初始化成功后,登录设备。
3)在2的基础上登录设备(第四点和第五点需要登录设备)
4)查询WLAN列表
5)选择需要配置的WLAN,进行AP配置。
6)如果判断设备有没有添加成功,可以切换要配置的WLAN,通过设备搜索检测。
2. Demo中涉及到的接口如下:
1) 开始搜索接口:INetSDK.StartSearchDevices
回调函数 CB_fSearchDevicesCB
停止搜索接口:INetSDK.StopSearchDevices
2) 组播初始化接口:INetSDK.InitDevAccount
3) 单播初始化接口:INetSDK.InitDevAccountByIP
4) 登录接口:INetSDK.LoginEx2
登出接口:INetSDK.Logout
5) 获取WLAN列表接口:INetSDK.GetDevConfig 对应命令:FinalVar.SDK_DEV_WLAN_DEVICE_CFG_EX
6) AP获取接口:INetSDK.GetNewDevConfig INetSDK.ParseData 对应命令:FinalVar.CFG_CMD_WLAN
AP配置接口:INetSDK.PacketData INetSDK.SetNewDevConfig 对应命令:FinalVar.CFG_CMD_WLAN
3. 注意事项:
[1]软AP配置连接的无线是设备的热点
[2]软AP的功能,是需要登录设备后,配置的
[3]获取WLAN列表,可以得到认证模式和加密模式,这两个参数 根据 Encryption.java 映射得到加密模式,用于AP配置
[4]AP配置完成,不管配置接口有没有返回,并不能表明AP配置成功,需要连接配置的无线,通过设备搜索判断。
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【动检配置】
1. 功能概要:
主要功能有:动检配置,主要用于配置动检时间和动检区域等。
2. Demo中涉及到的接口如下:
1) 获取动检接口:INetSDK.GetNewDevConfig INetSDK.ParseData 对应命令:FinalVar.CFG_CMD_MOTIONDETECT
设置动检接口:INetSDK.PacketData INetSDK.SetNewDevConfig 对应命令:FinalVar.CFG_CMD_MOTIONDETECT
3. 注意事项:
[1]动检区域是个数组,每个数组下标对应一个区域,WEB上可以配置四个互不相关的区域,本Demo只做了下标为0的动检区域配置。其他几个的配置方法类型。
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【实时预览】
1. 功能概要:
主要功能有:实时预览
2. Demo中涉及到的接口如下:
1) 开始预览接口:
IPlaySDK.InitSurface
INetSDK.RealPlayEx
IPlaySDK.PLAYOpenStream
IPlaySDK.PLAYPlay
PLAYPlaySoundShare
INetSDK.SetRealDataCallBackEx
IPlaySDK.PLAYInputData
2) 停止预览接口:
IPlaySDK.PLAYStop
IPlaySDK.PLAYStopSoundShare
IPlaySDK.PLAYCloseStream
INetSDK.StopRealPlayEx
IPlaySDK.PLAYRefreshPlay
3. 注意事项:
实时预览分主码流和辅码流,并且跟通道相关。
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【云台控制】
1. 功能概要:
主要功能有:八个方向的云台控制
变倍+/-
变焦+/-
光圈+/-
2. Demo中涉及到的接口如下:
1) 八个方向:
[1]向上:INetSDK.SDKPTZControl
对应命令 SDK_PTZ_ControlType.SDK_PTZ_UP_CONTROL
接口里的最后一个参数表示运行或停止
[2]向下:INetSDK.SDKPTZControl
对应命令 SDK_PTZ_ControlType.SDK_PTZ_DOWN_CONTROL
接口里的最后一个参数表示运行或停止
[3]向左:INetSDK.SDKPTZControl
对应命令 SDK_PTZ_ControlType.SDK_PTZ_LEFT_CONTROL
接口里的最后一个参数表示运行或停止
[4]向右:INetSDK.SDKPTZControl
对应命令 SDK_PTZ_ControlType.SDK_PTZ_RIGHT_CONTROL
接口里的最后一个参数表示运行或停止
[5]左上:INetSDK.SDKPTZControl
对应命令 SDK_EXTPTZ_ControlType.SDK_EXTPTZ_LEFTTOP
接口里的最后一个参数表示运行或停止
[6]左下:INetSDK.SDKPTZControl
对应命令 SDK_EXTPTZ_ControlType.SDK_EXTPTZ_LEFTDOWN
接口里的最后一个参数表示运行或停止
[7]右上:INetSDK.SDKPTZControl
对应命令 SDK_EXTPTZ_ControlType.SDK_EXTPTZ_RIGHTTOP
接口里的最后一个参数表示运行或停止
[8]右下:INetSDK.SDKPTZControl
对应命令 SDK_EXTPTZ_ControlType.SDK_EXTPTZ_RIGHTDOWN
接口里的最后一个参数表示运行或停止
2) 变倍接口:
[1]变倍+:INetSDK.SDKPTZControl
对应命令 SDK_PTZ_ControlType.SDK_PTZ_ZOOM_ADD_CONTROL
接口里的最后一个参数表示运行或停止
[2]变倍-:INetSDK.SDKPTZControl
对应命令 SDK_PTZ_ControlType.SDK_PTZ_ZOOM_DEC_CONTROL
接口里的最后一个参数表示运行或停止
2) 变焦接口:
[1]变焦+:INetSDK.SDKPTZControl
对应命令 SDK_PTZ_ControlType.SDK_PTZ_FOCUS_DEC_CONTROL
接口里的最后一个参数表示运行或停止
[2]变焦-:INetSDK.SDKPTZControl
对应命令 SDK_PTZ_ControlType.SDK_PTZ_FOCUS_ADD_CONTROL
接口里的最后一个参数表示运行或停止
2) 光圈接口:
[1]光圈+:INetSDK.SDKPTZControl
对应命令 SDK_PTZ_ControlType.SDK_PTZ_APERTURE_ADD_CONTROL
接口里的最后一个参数表示运行或停止
[2]光圈-:INetSDK.SDKPTZControl
对应命令 SDK_PTZ_ControlType.SDK_PTZ_APERTURE_DEC_CONTROL
接口里的最后一个参数表示运行或停止
3. 注意事项:
变焦里的命令,SDK_PTZ_FOCUS_DEC_CONTROL 对应变焦+
SDK_PTZ_FOCUS_ADD_CONTROL 对应变焦-
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【OSD配置】
1. 功能概要:
主要功能有:时间标题(时间和星期是否叠加显示)和通道标题(通道名称是否叠加显示以及通道名称修改)
2. Demo中涉及到的接口如下:
1) 时间标题获取接口:INetSDK.GetConfig 对应命令:NET_EM_CFG_OPERATE_TYPE.NET_EM_CFG_TIMETITLE
时间标题设置接口:INetSDK.SetConfig 对应命令:NET_EM_CFG_OPERATE_TYPE.NET_EM_CFG_TIMETITLE
2) 通道标题获取接口:INetSDK.GetConfig 对应命令:NET_EM_CFG_OPERATE_TYPE.NET_EM_CFG_CHANNELTITLE
通道标题设置接口:INetSDK.SetConfig 对应命令:NET_EM_CFG_OPERATE_TYPE.NET_EM_CFG_CHANNELTITLE
3) 通道名称获取接口:INetSDK.GetNewDevConfig INetSDK.ParseData 对应命令:FinalVar.CFG_CMD_CHANNELTITLE
通道名称设置接口:INetSDK.PacketData INetSDK.SetNewDevConfig 对应命令:FinalVar.CFG_CMD_CHANNELTITLE
3. 注意事项:
无
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【录像回放、下载录像、重要录像加解锁功能】
1. 功能概要:
主要功能有:按时间回放和下载录像、回放控制、回放码流本地抓图、重要录像加解锁
2. Demo中涉及到的接口如下:
1) 录像回放:
1) 获取空闲通道号:IPlaySDK.PLAYGetFreePort
2) 设置设备模式:INetSDK.SetDeviceMode
设置录像码流类型对应命令:EM_USEDEV_MODE.SDK_RECORD_STREAM_TYPE
设置录像文件类型对应命令:EM_USEDEV_MODE.SDK_RECORD_TYPE
3) 回放初始化:调用PlaySDK接口
1) 打开流播放:IPlaySDK.PLAYOpenStream
2) 设置流播放模式:IPlaySDK.PLAYSetStreamOpenMode
3) 开始播放:IPlaySDK.PLAYPlay
4) 以共享方式播放声音:IPlaySDK.PLAYPlaySoundShare
4) 对设备发来的码流数据解码:IPlaySDK.PLAYInputData
5) 获取编码中时间信息:IPlaySDK.PLAYQueryInfo 枚举值Constants.PLAY_CMD_GetTime
6) 按时间进行录像回放:INetSDK.PlayBackByTimeEx
实现INetSDK.CB_fDataCallBack处理回放码流,调用IPlaySDK.PLAYInputData解码播放
实现INetSDK.CB_fDownLoadPosCallBack处理回放进度,调用IPlaySDK.PLAYQueryInfo更新时间
7) 设置文件当前播放时间:IPlaySDK.PLAYSetPlayedTimeEx
8) 清空指定缓冲区的剩余数据:IPlaySDK.PLAYResetBuffer
清空视频源缓冲和解码后视频数据缓冲
9) 停止回放:
1) 关闭播放:IPlaySDK.PLAYStop
2) 关闭流播放:IPlaySDK.PLAYCloseStream
3) 关闭声音(共享方式):IPlaySDK.PLAYStopSoundShare
4) 停止回放:INetSDK.StopPlayBack
2) 回放控制:
1) 播放/暂停:IPlaySDK.PLAYPause + INetSDK.PausePlayBack
2) 快放:IPlaySDK.PLAYFast + INetSDK.FastPlayBack
3) 慢放:IPlaySDK.PLAYSlow + INetSDK.SlowPlayBack
4) 常速:IPlaySDK.PLAYPlay + INetSDK.NormalPlayBack
3) 回放码流本地抓图:IPlaySDK.PLAYCatchPicEx
4) 下载录像:
1) 设置录像码流类型:INetSDK.SetDeviceMode,对应命令:EM_USEDEV_MODE.SDK_RECORD_STREAM_TYPE
2) 按时间下载录像:INetSDK.DownloadByTimeEx
实现INetSDK.CB_fDownLoadPosCallBack处理下载进度
3) 停止录像下载:INetSDK.StopDownload
5) 重要录像加解锁:
1) 查询重要录像: 对应类型EM_RECORD_SNAP_FLAG_TYPE.FLAG_TYPE_MARKED
1) 按查询条件查询文件:INetSDK.FindFileEx
2) 查找文件:INetSDK.FindNextFileEx
3) 结束录像文件查找:INetSDK.FindCloseEx
2) 重要录像按时间段加锁:INetSDK.SetMarkFileByTime
3) 重要录像按文件解锁:INetSDK.SetMarkFile
3. 注意事项:
1)下载录像格式为dav、保存图片格式为JPEG
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【语音对讲功能】
1. 功能概要:
主要功能有:直连对讲、转发模式对讲
2. Demo中涉及到的接口如下:
1) 设置设备对讲模式:INetSDK.SetDeviceMode
设置语音对讲编码格式对应命令:EM_USEDEV_MODE.SDK_TALK_ENCODE_TYPE
设置对讲是否为转发模式对应命令:EM_USEDEV_MODE.SDK_TALK_TRANSFER_MODE
转发模式时设置转发通道对应命令:EM_USEDEV_MODE.SDK_TALK_TALK_CHANNEL
2) 向设备发送用户的音频数据:INetSDK.TalkSendData
3) 对设备发来的音频数据解码:IPlaySDK.PLAYInputData
4) 向设备发起语音对讲请求:INetSDK.StartTalkEx
对讲回调实现INetSDK.CB_pfAudioDataCallBack接口,对设备发来的音频数据解码
5) 录音:调用PlaySDK接口
1) 打开流播放:IPlaySDK.PLAYOpenStream
2) 开始播放:IPlaySDK.PLAYPlay
3) 以共享方式播放声音:IPlaySDK.PLAYPlaySoundShare
4) 打开音频采集功能:IPlaySDK.PLAYOpenAudioRecord
回调实现IPlaySDKCallBack.pCallFunction接口,发送音频到设备
6) 结束录音:调用PlaySDK接口
1) 关闭音频采集功能:IPlaySDK.PLAYCloseAudioRecord
2) 关闭播放:IPlaySDK.PLAYStop
3) 关闭声音(共享方式):IPlaySDK.PLAYStopSoundShare
4) 关闭流播放:IPlaySDK.PLAYCloseStream
7) 停止语音对讲:INetSDK.StopTalkEx
3. 注意事项:
录音端口使用99,发送音频到设备需要对音频数据加音频头后再发送
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【抓图功能】
1. 功能概要:
主要功能有:远程抓图和定时抓图
2. Demo中涉及到的接口如下:
1) 设置抓图回调:INetSDK.SetSnapRevCallBack
回调实现INetSDK.CB_fSnapRev接口
2) 远程抓图、定时抓图、停止定时抓图:INetSDK.SnapPictureEx
抓图模式:-1:表示停止抓图, 0:表示请求一帧(远程抓图), 1:表示定时发送请求
3. 注意事项:
无
4. 相关接口:
无
///////////////////////////////////////////////////////////////////
【可视对讲功能】
1. 功能概要:
主要功能有:可视对讲和门禁开门
2. Demo中涉及到的接口如下:
1) 可视对讲:
1) 实时预览:参考【实时预览功能】
2) 语音对讲:
1) 设置设备对讲模式:INetSDK.SetDeviceMode
设置语音对讲编码格式对应命令:EM_USEDEV_MODE.SDK_TALK_ENCODE_TYPE
设置客户端方式对讲对应命令:EM_USEDEV_MODE.SDK_TALK_CLIENT_MODE
设置语音参数对应命令:EM_USEDEV_MODE.SDK_TALK_SPEAK_PARAM
2) 其他参考【语音对讲功能】
2) 门禁开门:INetSDK.ControlDevice 枚举值CtrlType.SDK_CTRL_ACCESS_OPEN
3. 注意事项:
无
4. 相关接口:
无