中文简体 English
- IvySdkManager
- 单例对象
- 初始化方法
- 设置P2P服务器地区
- 获取版本信息
- 设置Sdk日志信息
- 停止局域网搜索
- 重启局域网搜索
- 搜索局域网设备
- 二维码配网内容字符串
- 通过设备UID获取设备出厂密码
- 通过设备UID判断设备类型
- IvyCamera
- 初始化
- 初始化IvyCamera对象
- 属性
- 设备句柄
- 设备UID
- 设备用户名
- 设备密码
- 设备句柄状态
- 连接管理
- 登录Camera
- 登出Camera
- 释放Camera
- 更新用户名密码
- 清除缓存的设备信息
- 设备信息
- 获取设备能力级
- 获取设备信息
- 修改设备用户名密码
- 画面设置
- 获取镜像翻转状态
- 设置镜像状态
- 设置翻转状态
- 获取红外灯状态
- 设置红外灯状态
- 获取设置支持的清晰度类型
- 获取当前清晰度类型
- 设置摄像机清晰度
- 获取OSD设置状态
- 设置OSD设置状态
- 获取摄像机WDR开关状态
- 设置摄像机WDR开关状态
- 设置设备名称
- PTZ云台
- 云台控制
- 获取预置点列表
- 转到指定预置点
- 添加预置点
- 删除预置点
- 垂直巡航
- 水平巡航
- 定点巡航
- 停止巡航
- 告警设置
- 获取移动侦测信息
- 设置移动侦测信息
- 获取人体侦测信息
- 设置人体侦测信息
- 获取人体侦测设备信息
- 设置人体侦测License
- 获取声音侦测
- 设置声音侦测
- 网络设置
- 获取设备Wi-Fi配置
- 获取Wi-Fi列表
- 设置Wi-Fi
- 获取网络自适应开关状态
- 设置网络自适应开关状态
- 时间设置
- 获取设备系统时间
- 设置系统时间
- 同步手机时间到设备
- SD卡相关
- 获取设备SD卡信息
- 格式化SD卡
- 获取SD卡录像列表
- 分页获取SD卡录像列表
- 获取SD卡图片列表
- 下载SD卡图片
- 获取计划录像配置
- 设置计划录像配置
- 其它控制
- 开始录像
- 停止录像
- 获取摄像机音量
- 设置摄像机音量
- 获取对讲音量
- 设置对讲音量
- 重启设备
- 获取电源频率
- 设置电源频率
- 获取休眠状态
- 唤醒设备
- 休眠设备
- 获取指示灯开关状态
- 设置指示灯开关状态
- 获取提示语音开关状态
- 设置提示语音开关状态
- 云端配置
- 在线升级
- 设置云存储配置
- 设置富媒体推送配置
- 设置文本推送配置
- 通用命令
- 通用命令
- 通用命令,发送CGI命令
- 事件管理
- 添加一个事件的观察者
- 移除一个观察者
- IvyPlayer 实时直播
- IvyPlayer 实时直播类
- 直播
- 停止播放
- 打开对讲
- 关闭对讲
- 音频开关
- 代理
- IvyPlayerDelegate 实时直播代理
- 解码到一帧UIImage的图像
- 解码到一帧指定格式的图像
- 命令结果
- 播放流量
- IvySDPlayer SD卡播放
- IvySDPlayer SD卡播放类
- 播放SD卡录像
- 暂停播放
- 继续播放
- 设置播放位置
- 停止播放
- 音频开关
- 代理
- IvySDPlayerDelegate SD卡播放代理
- 解码到一帧UIImage的图像
- 解码到一帧指定格式的图像
- 命令结果
- 播放时间
- 缓冲进度
- 播放流量
- IvySDDownloader SD卡录像下载
- IvySDDownloader 类
- IvySDDownloader单例
- 下载SD卡录像文件
- 取消当前下载
- 代理
- IvySDDownloaderDelegate 代理
- SD卡录像下载成功
- SD卡录像下载进度
- SD卡录像下载失败
- IvyVoicePlayer声波配网
- IvyVoicePlayer类
- 初始化方法
- 播放
- 停止播放
- 代理
- IvyVoicePlayerDelegate代理
- 声波配网完成
- 声波配网异常
- Ivy数据模型
- IvyDevAbility 设备能力集
- 属性定义
- IvyDevAbility (Helper) 设备能力集Helper
- 是否支持 sd 卡
- 是否支持 outdoor
- 是否支持 pt
- 是否支持 zoom
- 是否支持 rs485
- 是否支持 ioAlarm
- 是否支持 onvif
- 是否支持 p2p
- 是否支持 wps
- 是否支持 监听(设备提示音量调节)
- 是否支持 对讲
- 是否支持 全双工对讲
- 是否支持 视频参数网络自适应
- 是否支持 分辨率切换和主次码流切换
- 是否支持 区域选择
- 是否支持 一键呼叫
- 是否支持 夜视计划
- 是否支持 SD卡图片下载
- 是否支持 dropbox 云存储
- 是否支持 百度推送
- 是否支持 Foscam 推送
- 是否支持 Foscam 存储
- 是否支持 Foscam 富媒体推送
- 是否支持 Alexa
- 是否支持 7*24 小时云存储
- 是否支持 告警录像时长设置
- 是否支持 APP 预置位巡航
- 是否支持 框外侦测
- 是否支持 声音侦测
- 是否支持 温度侦测
- 是否支持 湿度侦测
- 是否支持 PIR侦测
- 是否支持 IV侦测
- 是否支持 人体侦测–爱华盈通
- 是否支持 人体侦测–珊口
- 是否支持 童谣
- 是否支持 芯片加密
- 是否支持 SoftAP
- 是否支持 EZLink
- 是否支持 PPPoE
- 是否支持 夜视红外功能
- 是否支持 录像功能
- 是否支持 定时重启
- 是否支持 布撤防
- 是否支持 指示灯开关
- 是否支持 小夜灯开关
- 是否支持 扬声器音量控制
- 是否支持 HDR
- 是否支持 WDR
- 是否支持 语音提示开关
- 是否支持 神马全双工算法
- 是否支持 双马达自动聚焦
- 是否支持 云台巡航看守位
- 是否支持 设备名称Unicode
- 是否支持 设备休眠
- IvyDevInfo 设备信息
- 设备类型
- 平台类型
- sensor类型
- wifi类型
- 语言
- 产品名字
- 设备名
- 应用固件版本号
- 系统固件版本号
- 序列号
- 设备UID
- MAC 地址
- OEM 码
- IvyDevLan 局域网搜索
- Mac地址
- 设备名
- IP地址
- mask
- NDS
- 类型 0:FOSIPC_H264 1:FOSIPC_MJ 2: FOSIPC_UNKNOW
- 端口
- DHCP 是否开启
- 设备UID
- IvyMotionDetect 移动侦测告警协议
- 移动侦测告警类类型
- IvyMotionDetectObject0 移动侦测告警模型1
- 开关
- 移动侦测开关
- PIR侦测开关
- 联动
- 抓拍间隔秒
- 敏感度
- 触发间隔
- 周日
- 周一
- 周二
- 周三
- 周四
- 周五
- 周六
- 侦测告警区域
- IvyMotionDetectObject1 移动侦测告警模型2
- 开关
- 移动侦测开关
- PIR侦测开关
- 联动
- 抓拍间隔秒
- 触发间隔
- 周日
- 周一
- 周二
- 周三
- 周四
- 周五
- 周六
- 侦测区域
- 第一个区域告警敏感度
- 第二个区域告警敏感度
- 第三个区域告警敏感度
- 是否开启第一个区域侦测告警
- 是否开启第二个区域侦测告警
- 是否开启第三个区域侦测告警
- IvyAudioDetect 声音侦测告警
- 开关
- 联动
- 敏感度
- 触发间隔
- 抓拍间隔
- 周日
- 周一
- 周二
- 周三
- 周四
- 周五
- 周六
- IvyPedestrianDetect 人体侦测告警
- 开关
- 追踪开关
- 联动告警
- 灵敏度
- 抓拍时间间隔
- 触发时间间隔
- IvyScheduleRecordConfig 计划录像配置
- 是否开启计划录像
- 录像级别
- 空间满后录像处理方式
- 是否包含音频
- 录像码流类型
- 周日
- 周一
- 周二
- 周三
- 周四
- 周五
- 周六
- IvySDInfo SD卡信息
- 是否存在SD卡
- SD的剩余空间
- SD卡总空间
- IvyRecordList SD卡录像列表
- Total number of videos
- Start number
- Video list
- IvyRecordObject SD卡录像信息协议
- 录像对象类类型
- IvyRecordObject0 SD卡录像信息模型1
- 通道号
- 录像开始时间
- 录像结束时间
- 录像类型
- IvyRecordObject1 SD卡录像信息模型2
- 录像路径
- IvyPictureList SD卡图片列表
- 通道号
- 总数
- 当前计数
- 照片列表
- IvyPictureInfo SD卡图片
- 图片格式
- 时间戳
- 图片类型
- IvyDevTime 设备时间
- 年
- 月
- 日
- 小时
- 分钟
- 秒
- ntp服务器
- 日期格式
- 夏令时时长
- 是否有夏令时
- 时间格式
- 时间来源
- 时区
- IvyWiFiDetail Wi-Fi信息
- SSID
- Mac
- 是否加密
- 信号质量
- 模式
- 加密类型
- IvyWiFiConfig Wi-Fi搜索信息
- SSID
- Wi-Fi 加密类型
- IvyStreamParam 视频流
- GOP
- bitRate
- frameRate
- isVBR
- resolution
- IvyPresetPoint 预置点
- 结果
- 预置点名称
- IvyOSDSettings OSD
- 是否显示OSD
- 是否显示时间戳
- 是否显示设备名称
- 是否显示温度、湿度
- dispPos
IvySdkManager
单例对象
接口说明
单例对象
+ (IvySdkManager *)shared;
返回
单例对象
示例代码
初始化方法
接口说明
初始化方法
- (void)initializer;
示例代码
[[IvySdkManager shared] initializer];
设置P2P服务器地区
接口说明
设置P2P服务器地区
- (void)setP2PRegion:(NSInteger)region;
参数说明
参数 | 说明 |
---|---|
region | region 地区(0: 中国区,1:非中国区) |
示例代码
[[IvySdkManager shared] setP2PRegion:0];
获取版本信息
接口说明
获取版本信息
- (NSString *)versionInfo;
返回
版本信息
示例代码
NSString *versionInfo = [IvySdkManager shared].versionInfo;
NSLog(@"... version:%@", versionInfo);
Output:
... version:1.0.6_35_1.0.3.166
设置Sdk日志信息
接口说明
设置Sdk日志信息
- (void)setLog:(NSInteger)level filepath:(NSString *)filepath maxSize:(NSUInteger)maxSize;
参数说明
参数 | 说明 |
---|---|
level | 日志等级 (0: NO 1: Error 2:Debug 3: All) |
filepath | 日志文件路径 |
maxSize | 文件最大尺寸(M) |
示例代码
NSString *filepath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject stringByAppendingPathComponent:@"AppSdk.txt"];
[[IvySdkManager shared] setLog:3 filepath:filepath maxSize:100];
停止局域网搜索
接口说明
停止局域网搜索
- (void)stopDiscovery;
示例代码
重启局域网搜索
接口说明
重启局域网搜索
- (void)restartDiscovery;
示例代码
搜索局域网设备
接口说明
搜索局域网设备
- (void)searchDevices:(void(^)(NSArray<IvyDevLan *> *devices))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[[IvySdkManager shared] searchDevices:^(NSArray<IvyDevLan *> * _Nonnull devices) {
for (IvyDevLan *obj in devices) {
NSLog(@"... deviceUID:%@", obj.uid);
}
}];
二维码配网内容字符串
接口说明
二维码配网内容字符串
- (NSString *)qrCodeString:(nonnull NSString *)SSID password:(nonnull NSString *)password deviceUID:(nullable NSString *)deviceUID bindingToken:(nullable NSString *)bindingToken;
参数说明
参数 | 说明 |
---|---|
SSID | 路由器SSID |
password | 路由器密码 |
deviceUID | 设备UID (若无传nil) |
bindingToken | IOT 绑定token (若无传nil) |
返回
配网字符串
说明
根据该字符串,生成对应的二维码,用于IPC的配置网络
示例代码
- (UIImage *)qrCodeImageFromString:(NSString *)qrString {
NSData *data = [qrString dataUsingEncoding:NSUTF8StringEncoding];
CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
[filter setValue:data forKey:@"inputMessage"];
[filter setValue:@"L" forKey:@"inputCorrectionLevel"];
CIImage *ciimage = filter.outputImage;
CGFloat scaleX = 200 / ciimage.extent.size.width;
CGFloat scaleY = 200 / ciimage.extent.size.height;
CIImage *resizeImage = [ciimage imageByApplyingTransform:CGAffineTransformMakeScale(scaleX, scaleY)];
UIImage *image = [[UIImage alloc] initWithCIImage:resizeImage scale:[[UIScreen mainScreen] scale] orientation:UIImageOrientationDown];
return image;
}
NSString *SSID = @"My_WiFi";
NSString *password = @"1234567890";
NSString *deviceUID = @"J4CH4CT4G4338LDWZZZZF2BI";
NSString *bindingToken = @"9OUI58";
NSString *qrCodeString = [[IvySdkManager shared] qrCodeString:SSID password:password deviceUID:deviceUID bindingToken:bindingToken];
UIImage *image = [self qrCodeImageFromString:qrCodeString];
通过设备UID获取设备出厂密码
接口说明
通过设备UID获取设备出厂密码
- (NSString *)resetPasswordByDeviceUID:(nonnull NSString *)deviceUID;
参数说明
参数 | 说明 |
---|---|
deviceUID | 设备UID |
示例代码
NSString *deviceUID = kDeviceUID;
NSString *resetPwd = [[IvySdkManager shared] resetPasswordByDeviceUID:deviceUID];
NSLog(@"... resetPwd:%@", resetPwd);
Output:
... resetPwd:e8e3d757
通过设备UID判断设备类型
接口说明
通过设备UID判断设备类型
- (IvyDeviceType)deviceTypeByDeviceUID:(nonnull NSString *)deviceUID;
参数说明
参数 | 说明 |
---|---|
deviceUID | 设备UID |
示例代码
NSString *deviceUID = kDeviceUID;
IvyDeviceType type = [[IvySdkManager shared] deviceTypeByDeviceUID:deviceUID];
IvyCamera
初始化
初始化IvyCamera对象
接口说明
通过设备UID、以及设备对应的用户名、密码初始化IvyCamera对象
- (instancetype)initWithDeviceUID:(NSString *)deviceUID username:(NSString *)username password:(NSString *)password;
参数说明
参数 | 说明 |
---|---|
deviceUID | 设备UID |
username | 设备用户名 |
password | 设备密码 |
返回
IvyCamera对象
示例代码
NSString *deviceUID = @"5RKNUEBGCY3821CHZZZZ9Y9I";
NSString *username = @"admin";
NSString *password = @"uKsa72";
IvyCamera *obj = [[IvyCamera alloc] initWithDeviceUID:deviceUID username:username password:password];
属性
设备句柄
属性说明
设备句柄
@property (nonatomic, assign, readonly) IVYHANDLE handle;
设备UID
属性说明
设备UID
@property (nonatomic, strong, readonly) NSString *deviceUID;
设备用户名
属性说明
设备用户名
@property (nonatomic, strong, readonly) NSString *username;
设备密码
属性说明
设备密码
@property (nonatomic, strong, readonly) NSString *password;
设备句柄状态
属性说明
设备句柄状态
@property (nonatomic, assign, readonly) IVYIO_HANDLE_STATE handleState;
连接管理
登录Camera
接口说明
登录Camera
- (void)loginCamera:(void(^)(IVYIO_HANDLE_STATE handleState, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 登陆结果 |
示例代码
[self.ivyCamera loginCamera:^(IVYIO_HANDLE_STATE handleState, IVYIO_RESULT cmdResult) {
if (IVYIO_HANDLE_STATE_ONLINE == handleState) {
NSLog(@"... Online");
} else {
NSLog(@"... Offline");
}
}];
登出Camera
接口说明
登出Camera
- (void)logoutCamera;
示例代码
[self.ivyCamera logoutCamera];
释放Camera
接口说明
释放Camera
- (void)destroyCamera;
示例代码
[self.ivyCamera destroyCamera];
更新用户名密码
接口说明
更新用户名密码
- (BOOL)updateUsername:(NSString *)username password:(NSString *)password;
参数说明
参数 | 说明 |
---|---|
username | 设备用户名 |
password | 设备密码 |
返回
是否成功
示例代码
NSString *newUsername = @"a";
NSString *newPassword = @"abc123";
[self.ivyCamera updateUsername:newUsername password:newPassword];
清除缓存的设备信息
接口说明
清除缓存的设备信息
- (void)resetConfiguration;
示例代码
[self.ivyCamera resetConfiguration];
设备信息
获取设备能力级
接口说明
获取设备能力级
- (void)getDevAbility:(void(^)(IvyDevAbility *devAbility, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getDevAbility:^(IvyDevAbility * _Nonnull devAbility, IVYIO_RESULT cmdResult) {
}];
获取设备信息
接口说明
获取设备信息
- (void)getDevInfo:(void(^)(IvyDevInfo *devInfo, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getDevInfo:^(IvyDevInfo * _Nonnull devInfo, IVYIO_RESULT cmdResult) {
if (cmdResult == IVYIO_RESULT_OK) {
NSLog(@"... mac:%@", devInfo.mac);
}
}];
修改设备用户名密码
接口说明
修改设备用户名密码
- (void)modifyUserNameAndPassword:(NSString *)newUserName newPassword:(NSString *)newPassword onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
newUserName | 新用户名 |
newPassword | 新密码 |
resultBlock | 结果 |
示例代码
NSString *username = @"a";
NSString *password = @"abc123";
[self.ivyCamera modifyUserNameAndPassword:username newPassword:password onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
画面设置
获取镜像翻转状态
接口说明
获取镜像翻转状态
- (void)getVideoMirrorFlip:(void(^)(BOOL isMirror, BOOL isFlip, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
设置镜像状态
接口说明
设置镜像状态
- (void)setMirrorVideo:(BOOL)isMirror onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
isMirror | 开启镜像 |
resultBlock | 结果 |
示例代码
[self.ivyCamera setMirrorVideo:YES onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {}];
设置翻转状态
接口说明
设置翻转状态
- (void)setFlipVideo:(BOOL)isFlip onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
isFlip | 开启翻转 |
resultBlock | 结果 |
示例代码
[self.ivyCamera setFlipVideo:NO onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {}];
获取红外灯状态
接口说明
获取红外灯状态
- (void)getDayNightConfig:(void(^)(NSInteger mode, BOOL onoff, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
设置红外灯状态
接口说明
设置红外灯状态
- (void)setDayNightConfig:(BOOL)onoff mode:(NSInteger)mode onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
onoff | 是否开启红外灯 (只有在手动模式下,onoff才会有效) |
mode | 红外灯的状态 (0:自动 1:手动 2:计划) |
resultBlock | 结果 |
示例代码
BOOL onoff = YES;
NSInteger mode = 1;
[self.ivyCamera setDayNightConfig:onoff mode:mode onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
获取设置支持的清晰度类型
接口说明
获取设置支持的清晰度类型
- (void)getSupportedStreamTypes:(void(^)(NSArray *types, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
types数组值参考IvyDefinitionType
示例代码
[self.ivyCamera getSupportedStreamTypes:^(NSArray * _Nonnull types, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, types:%@", @(cmdResult), types);
}];
Output:
... cmdResult:0, types:(
2,
1,
0
)
获取当前清晰度类型
接口说明
获取当前清晰度类型
- (void)getStreamType:(void(^)(IvyDefinitionType streamType, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getStreamType:^(IvyDefinitionType streamType, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, streamType:%@", @(cmdResult), @(streamType));
}];
Output:
... cmdResult:0, streamType:2
设置摄像机清晰度
接口说明
设置摄像机清晰度
- (void)setStreamType:(IvyDefinitionType)streamType onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
streamType | 清晰度 |
resultBlock | 结果 |
示例代码
IvyDefinitionType type = IvyDefinitionHD;
[self.ivyCamera setStreamType:type onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
获取OSD设置状态
接口说明
获取OSD设置状态
- (void)getOSDSettings:(void(^)(IvyOSDSettings *obj, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getOSDSettings:^(IvyOSDSettings * _Nonnull obj, IVYIO_RESULT cmdResult) {
if (cmdResult == IVYIO_RESULT_OK) {
NSLog(@"... isEnableTimeStamp:%@", @(obj.isEnableTimeStamp));
}
}];
Output:
... isEnableTimeStamp:1
设置OSD设置状态
接口说明
设置OSD设置状态
- (void)setOSDSettings:(IvyOSDSettings *)obj onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
obj | OSD对象 |
resultBlock | 结果 |
示例代码
IvyOSDSettings *obj = [IvyOSDSettings new];
obj.isEnableTimeStamp = YES;
obj.isEnableDevName = NO;
[self.ivyCamera setOSDSettings:obj onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
获取摄像机WDR开关状态
接口说明
获取摄像机WDR开关状态
- (void)getCameraWDRState:(void(^)(NSInteger mode, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
mode: 0关闭, 1开启
示例代码
[self.ivyCamera getCameraWDRState:^(NSInteger mode, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, mode:%@", @(cmdResult), @(mode));
}];
设置摄像机WDR开关状态
接口说明
设置摄像机WDR开关状态
- (void)setCameraWDRState:(NSInteger)mode onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
mode | 状态 |
resultBlock | 结果 |
示例代码
[self.ivyCamera setCameraWDRState:1 onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
设置设备名称
接口说明
设置设备名称
- (void)setDevName:(NSString *)devName onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
devName | 名称 |
resultBlock | 结果 |
说明
devName 如能力集(enableUnicodeDevName)不支持Unicode,则只能设置如下字符”^[A-Za-z0-9_\-\s]{1,20}$”。
示例代码
PTZ云台
云台控制
接口说明
云台控制
- (void)setPTZCmd:(IVY_PTZ_CMD)ptzCmd onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
ptzCmd | 控制命令 |
resultBlock | 结果 |
示例代码
IVY_PTZ_CMD ptzCmd = IVY_PTZ_MOVE_UP;
[self.ivyCamera setPTZCmd:ptzCmd onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {}];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.ivyCamera setPTZCmd:IVY_PTZ_STOP onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {}];
});
获取预置点列表
接口说明
获取预置点列表
- (void)getPresetPointList:(void(^)(IvyPresetPoint *presetPoint, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getPresetPointList:^(IvyPresetPoint * _Nonnull presetPoint, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), presetPoint.pointNames);
}];
Output:
... cmdResult:0, obj:(
TopMost,
BottomMost,
LeftMost,
RightMost
)
转到指定预置点
接口说明
转到指定预置点
- (void)goToPresetPoint:(NSString *)pointName onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
pointName | 预置点 |
resultBlock | 结果 |
示例代码
NSString *pointName = @"RightMost";
[self.ivyCamera goToPresetPoint:pointName onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
添加预置点
接口说明
添加预置点
- (void)addPresetPoint:(NSString *)pointName onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
pointName | 预置点 |
resultBlock | 结果 |
示例代码
NSString *pointName = @"door";
[self.ivyCamera addPresetPoint:pointName onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
删除预置点
接口说明
删除预置点
- (void)deletePresetPoint:(NSString *)pointName onCompletion:(void(^)(IvyPresetPoint *presetPoint, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
pointName | 预置点 |
resultBlock | 结果 |
示例代码
NSString *pointName = @"door";
[self.ivyCamera deletePresetPoint:pointName onCompletion:^(IvyPresetPoint * _Nonnull presetPoint, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), presetPoint.pointNames);
}];
垂直巡航
接口说明
垂直巡航
- (void)startVerticalCruise:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera startVerticalCruise:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
水平巡航
接口说明
水平巡航
- (void)startHorizontalCruise:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera startHorizontalCruise:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
定点巡航
接口说明
定点巡航
- (void)startPresetPointCruise:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
该模式要求预置位不得少于2个
示例代码
[self.ivyCamera startPresetPointCruise:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
停止巡航
接口说明
停止巡航
- (void)stopCruise:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera stopCruise:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
告警设置
获取移动侦测信息
接口说明
获取移动侦测信息
- (void)getMotionDetectConfig:(void(^)(id<IvyMotionDetect> _Nullable config, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
config 需根据type判断类型,使用对应的对象
示例代码
[self.ivyCamera getMotionDetectConfig:^(id<IvyMotionDetect> _Nullable config, IVYIO_RESULT cmdResult) {
if (IVYIO_RESULT_OK == cmdResult) {
switch (config.type) {
case IvyMotionDetectType0: {
IvyMotionDetectObject0 *obj = (IvyMotionDetectObject0 *)config;
break;
}
case IvyMotionDetectType1: {
IvyMotionDetectObject1 *obj = (IvyMotionDetectObject1 *)config;
}
break;
}
} else {
}
}];
设置移动侦测信息
接口说明
设置移动侦测信息
- (void)setMotionDetectConfig:(id<IvyMotionDetect>)config onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
config | DevMotionDetect对象 |
resultBlock | 结果 |
示例代码
IvyMotionDetectObject1 *obj = self.motionDetectObject1;
[self.ivyCamera setMotionDetectConfig:obj onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
获取人体侦测信息
接口说明
获取人体侦测信息
- (void)getPedestrianDetectConfig:(void(^)(IvyPedestrianDetect *config, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getPedestrianDetectConfig:^(IvyPedestrianDetect * _Nonnull config, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, config:%@", @(cmdResult), config);
if (cmdResult != IVYIO_RESULT_OK) { return; }
config.isEnable = !config.isEnable;
[self.ivyCamera setPedestrianDetectConfig:config onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
}];
设置人体侦测信息
接口说明
设置人体侦测信息
- (void)setPedestrianDetectConfig:(IvyPedestrianDetect *)config onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
config | DevMotionDetect对象 |
resultBlock | 结果 |
示例代码
[self.ivyCamera getPedestrianDetectConfig:^(IvyPedestrianDetect * _Nonnull config, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, config:%@", @(cmdResult), config);
if (cmdResult != IVYIO_RESULT_OK) { return; }
config.isEnable = !config.isEnable;
[self.ivyCamera setPedestrianDetectConfig:config onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
}];
获取人体侦测设备信息
接口说明
获取人体侦测设备信息
- (void)getPedestrianLicenseDeviceInfo:(void(^)(NSString *info, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getPedestrianLicenseDeviceInfo:^(NSString * _Nonnull info, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), info);
}];
设置人体侦测License
接口说明
设置人体侦测License
- (void)setPedestrianLicense:(NSString *)license onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
license | license |
resultBlock | 结果 |
示例代码
NSString *license = @"bc7eb17155e92568a68e824ae4d6db8404f3d5f83c10acd3a81a055fdfdaee0b6241a508e0dad8ac9e0ae693862313b081210481727592dbb39b42feb5b205552343e1809445bbd7b842f44f2063254c73468a73d23da92519b036bbcb71b82a0af7b77079bacc80f008d2542b7e15e943374b37a3d4ede533d1a67ff90b8b59ab389f55826d83903402ac438ac4bbf72a89dc5a24c079f70ea90a0d0e95a11d6fe8e7ffbe1a0d4b7a985747daa7505826566b1cd48c0423d402ecb2bd2fc4d00384fb7ab89264bae8161e387d206ca0ace504fadcdd013a34dd4a15b0bcdf11539320c27fe8b05b09e33ab4aa86d598f875eae4b4d17452769d37f9e7e0c37f";
[self.ivyCamera setPedestrianLicense:license onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
获取声音侦测
接口说明
获取声音侦测
- (void)getAudioDetectConfig:(void(^)(IvyAudioDetect *config, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getAudioDetectConfig:^(IvyAudioDetect * _Nonnull config, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, config:%@", @(cmdResult), config);
if (cmdResult != IVYIO_RESULT_OK) { return; }
config.isEnable = !config.isEnable;
[self.ivyCamera setAudioDetectConfig:config onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
}];
设置声音侦测
接口说明
设置声音侦测
- (void)setAudioDetectConfig:(IvyAudioDetect *)config onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
config | DevMotionDetect对象 |
resultBlock | 结果 |
示例代码
[self.ivyCamera getAudioDetectConfig:^(IvyAudioDetect * _Nonnull config, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, config:%@", @(cmdResult), config);
if (cmdResult != IVYIO_RESULT_OK) { return; }
config.isEnable = !config.isEnable;
[self.ivyCamera setAudioDetectConfig:config onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
}];
网络设置
获取设备Wi-Fi配置
接口说明
获取设备Wi-Fi配置
- (void)getWiFiConfig:(void(^)(IvyWiFiConfig *config, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getWiFiConfig:^(IvyWiFiConfig * _Nonnull config, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), config.ssid);
}];
Output:
... cmdResult:0, obj:My_WiFi
获取Wi-Fi列表
接口说明
获取Wi-Fi列表
- (void)getWiFiList:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getWiFiList:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... getWiFiList cmdResult:%@ obj:%@", @(cmdResult), obj);
}];
设置Wi-Fi
接口说明
设置Wi-Fi
- (void)setWiFiConfig:(IvyWiFiDetail *)model password:(NSString *)password onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
model | 选择的Wi-Fi类型 |
password | Wi-Fi密码 |
resultBlock | 结果 |
示例代码
IvyWiFiDetail *obj = list[0];
NSString *password = @"1234567890";
[self.ivyCamera setWiFiConfig:obj password:password onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
获取网络自适应开关状态
接口说明
获取网络自适应开关状态
- (void)getNetworkAutoAdaptability:(void(^)(NSInteger mode, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
mode: 0关闭, 1开启
示例代码
[self.ivyCamera getNetworkAutoAdaptability:^(NSInteger mode, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, mode:%@", @(cmdResult), @(mode));
}];
设置网络自适应开关状态
接口说明
设置网络自适应开关状态
- (void)setNetworkAutoAdaptability:(NSInteger)mode onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
mode | 状态 |
resultBlock | 结果 |
示例代码
NSInteger mode = 1;
[self.ivyCamera setNetworkAutoAdaptability:mode onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
时间设置
获取设备系统时间
接口说明
获取设备系统时间
- (void)getSystemTime:(void(^)(IvyDevTime *devTime, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getSystemTime:^(IvyDevTime * _Nonnull devTime, IVYIO_RESULT cmdResult) {
if (cmdResult == IVYIO_RESULT_OK) {
NSLog(@"... devTime:%04ld-%02ld-%02ld %02ld:%02ld:%02ld", devTime.year, devTime.month, devTime.day, devTime.hour, devTime.min, devTime.sec);
}
}];
Output:
... devTime:2019-07-06 04:32:38
设置系统时间
接口说明
设置系统时间
- (void)setSystemTime:(IvyDevTime *)devTime onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
devTime | 时间对象 |
resultBlock | 结果 |
示例代码
devTime.hour = 12;
devTime.min = 30;
[self.ivyCamera setSystemTime:devTime onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
同步手机时间到设备
接口说明
同步手机时间到设备
- (void)syncSystemTime:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera syncSystemTime:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... syncSystemTime cmdResult:%@", @(cmdResult));
}];
SD卡相关
获取设备SD卡信息
接口说明
获取设备SD卡信息
- (void)getSDCardInfo:(void(^)(IvySDInfo *ivySDInfo, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getSDCardInfo:^(IvySDInfo * _Nonnull ivySDInfo, IVYIO_RESULT cmdResult) {
if (cmdResult == IVYIO_RESULT_OK) {
NSLog(@"... isExist:%@ totalSpace:%@ freeSpace:%@", @(ivySDInfo.isExist), @(ivySDInfo.totalSpace), @(ivySDInfo.freeSpace));
}
}];
格式化SD卡
接口说明
格式化SD卡
- (void)setSDCardFormat:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera setSDCardFormat:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
获取SD卡录像列表
接口说明
获取SD卡录像列表
- (void)getSDCardRecordList:(NSUInteger)startTime endTime:(NSUInteger)endTime recordType:(NSInteger)recordType onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
startTime | 开始时间 |
endTime | 结束时间 |
recordType | 录像类型 |
resultBlock | 结果 |
说明
一次查询时间不能超过一天
示例代码
NSInteger year, month, day;
NSInteger recordType = 2;
{
NSDate *date = [NSDate date];
NSCalendar *calendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
calendar.timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date];
year = components.year;
month = components.month;
day = components.day;
}
NSLog(@"... getRecordList:%@-%@-%@ recordType:%@", @(year), @(month), @(day), @(recordType));
NSDateComponents *components = [[NSDateComponents alloc] init];
components.year = year;
components.month = month;
components.day = day;
components.minute = 0;
components.second = 0;
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDate *date = [calendar dateFromComponents:components];
NSUInteger st = (unsigned int)[date timeIntervalSince1970];
NSUInteger et = st + 24 * 3600 - 1;
__weak typeof(self) weakSelf = self;
[self.ivyCamera getSDCardRecordList:st endTime:et recordType:recordType onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
if (IVYIO_RESULT_OK == cmdResult) {
NSArray *records = (NSArray *)obj;
NSLog(@"... getRecordList records count:%@", @([records count]));
weakSelf.records = records;
[weakSelf reload];
} else {
NSLog(@"... getRecordList cmdResult:%@", @(cmdResult));
}
}];
分页获取SD卡录像列表
接口说明
分页获取SD卡录像列表
- (void)getSDCardRecordList:(NSUInteger)startTime endTime:(NSUInteger)endTime recordType:(NSInteger)recordType startNo:(NSInteger)startNo onCompletion:(void(^)(IvyRecordList *recordList, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
startTime | Start time |
endTime | End time |
recordType | record Type |
startNo | Start number |
resultBlock | result |
说明
The query time cannot exceed one day. startNo starts at 0.
示例代码
int startNo = 220;
[self.ivyCamera getSDCardRecordList:st endTime:et recordType:recordType startNo:startNo onCompletion:^(IvyRecordList * _Nonnull recordList, IVYIO_RESULT cmdResult) {
NSLog(@"... totalCnt:%@ startNo:%@", @(recordList.totalCnt), @(recordList.startNo));
if (IVYIO_RESULT_OK == cmdResult) {
NSArray *records = (NSArray *)recordList.list;
NSLog(@"... getRecordList records count:%@", @([records count]));
weakSelf.records = records;
[weakSelf reload];
} else {
NSLog(@"... getRecordList cmdResult:%@", @(cmdResult));
}
}];
获取SD卡图片列表
接口说明
获取SD卡图片列表
- (void)getSDCardPictureList:(unsigned long long)startTime endTime:(unsigned long long)endTime type:(NSInteger)type startNo:(NSInteger)startNo onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
startTime | 开始时间 |
endTime | 结束时间 |
type | 图片类型 |
startNo | 起始位置 |
resultBlock | 结果 |
说明
type 1表示手动录像、2表示计划录像、4表示移动侦测、8表示声音侦测、16表示IO侦测、32表示温度侦测、64表示湿度侦测、128表示人行侦测、256表示一键告警
示例代码
- (void)loadSDCardPictureList {
unsigned long long startTime = _st;
unsigned long long endTime = _et;
NSInteger type = 0xFFFF;
NSInteger startNo = _curCount;
[self.ivyCamera getSDCardPictureList:startTime endTime:endTime type:type startNo:startNo onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
if (cmdResult == IVYIO_RESULT_OK) {
IvyPictureList *list = (IvyPictureList *)obj;
NSLog(@"... totalCount:%@ curCount:%@", @(list.totalCount), @(list.curCount));
self.totalCount = list.totalCount;
self.curCount += list.curCount;
[self.dataSource addObjectsFromArray:list.list];
[self reload];
}
}];
}
下载SD卡图片
接口说明
下载SD卡图片
- (void)downloadSDCardPicture:(IvyPictureInfo *)info onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
info | IvyPictureInfo 对象 |
resultBlock | 结果 |
说明
图片下载成功,则以NSData返回
示例代码
- (void)downloadPicture:(IvyPictureInfo *)info {
NSString *deviceUID = self.ivyCamera.deviceUID;
NSString *filename = [NSString stringWithFormat:@"%@_%@.JPG", deviceUID, @(info.time)];
NSString *filepath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject stringByAppendingPathComponent:filename];
NSLog(@"... download picture time:%@", @(info.time));
[self.ivyCamera downloadSDCardPicture:info onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... download picture time:%@ finished cmdResult:%@", @(info.time), @(cmdResult));
if (IVYIO_RESULT_OK == cmdResult) {
NSData *data = (NSData *)obj;
if (nil != data) {
BOOL flag = [data writeToFile:filepath atomically:YES];
if (flag) {
NSLog(@"... download picture success");
}
}
}
}];
}
获取计划录像配置
接口说明
获取计划录像配置
- (void)getScheduleRecordConfig:(void(^)(IvyScheduleRecordConfig *config, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera getScheduleRecordConfig:^(IvyScheduleRecordConfig * _Nonnull config, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), config);
}];
设置计划录像配置
接口说明
设置计划录像配置
- (void)setScheduleRecordConfig:(IvyScheduleRecordConfig *)config onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
config | IvyScheduleRecordConfig 对象 |
resultBlock | 结果 |
示例代码
config.isEnable = YES;
config.schedule0 = 281474976710655L;
[self.ivyCamera setScheduleRecordConfig:config onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), config);
}];
其它控制
开始录像
接口说明
开始录像
- (void)startRecord:(NSString *)filepath onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
filepath | 文件存储路径 |
resultBlock | 结果 |
示例代码
NSString *filepath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject stringByAppendingPathComponent:@"record.mp4"];
[self.ivyCamera startRecord:filepath onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... startRecord cmdResult:%@", @(cmdResult));
}];
停止录像
接口说明
停止录像
- (void)stopRecord:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera stopRecord:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... stopRecord cmdResult:%@", @(cmdResult));
}];
获取摄像机音量
接口说明
获取摄像机音量
- (void)getAudioVolume:(void(^)(NSInteger volume, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
volume的取值范围0~100
示例代码
[self.ivyCamera getAudioVolume:^(NSInteger volume, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, volume:%@", @(cmdResult), @(volume));
[self.ivyCamera setAudioVolume:80 onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
}];
设置摄像机音量
接口说明
设置摄像机音量
- (void)setAudioVolume:(NSInteger)volume onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
volume | 音量大小 |
resultBlock | 结果 |
示例代码
[self.ivyCamera getAudioVolume:^(NSInteger volume, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, volume:%@", @(cmdResult), @(volume));
[self.ivyCamera setAudioVolume:80 onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
}];
获取对讲音量
接口说明
获取对讲音量
- (void)getSpeakerVolume:(void(^)(NSInteger volume, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
volume的取值范围0~100
示例代码
设置对讲音量
接口说明
设置对讲音量
- (void)setSpeakerVolume:(NSInteger)volume onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
volume | 音量大小 |
resultBlock | 结果 |
示例代码
重启设备
接口说明
重启设备
- (void)rebootSystem:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera rebootSystem:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
获取电源频率
接口说明
获取电源频率
- (void)getFrequency:(void(^)(NSInteger mode, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
mode: 0表示50HZ,1表示60HZ,2表示户外模式
示例代码
[self.ivyCamera getFrequency:^(NSInteger mode, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, mode:%@", @(cmdResult), @(mode));
}];
设置电源频率
接口说明
设置电源频率
- (void)setFrequency:(NSInteger)mode onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
mode | IPC电源频率 |
resultBlock | 结果 |
示例代码
[self.ivyCamera setFrequency:0 onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, mode:%@", @(cmdResult), @(mode));
}];
获取休眠状态
接口说明
获取休眠状态
- (void)getCameraSleepState:(void(^)(NSInteger mode, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
mode: 0未启用, 1休眠状态,2唤醒状态,3结束休眠
示例代码
[self.ivyCamera getCameraSleepState:^(NSInteger mode, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, mode:%@", @(cmdResult), @(mode));
}];
唤醒设备
接口说明
唤醒设备
- (void)setCameraWakeUp:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera setCameraWakeUp:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
休眠设备
接口说明
休眠设备
- (void)setCameraSleep:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
示例代码
[self.ivyCamera setCameraSleep:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
获取指示灯开关状态
接口说明
获取指示灯开关状态
- (void)getLedEnableState:(void(^)(NSInteger mode, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
mode: 0关闭, 1开启
示例代码
[self.ivyCamera getLedEnableState:^(NSInteger mode, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, mode:%@", @(cmdResult), @(mode));
}];
设置指示灯开关状态
接口说明
设置指示灯开关状态
- (void)setLedEnableState:(NSInteger)mode onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
mode | 状态 |
resultBlock | 结果 |
示例代码
[self.ivyCamera setLedEnableState:1 onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
获取提示语音开关状态
接口说明
获取提示语音开关状态
- (void)getVoiceState:(void(^)(NSInteger mode, IVYIO_RESULT cmdResult))resultBlock;
参数说明
参数 | 说明 |
---|---|
resultBlock | 结果 |
说明
mode: 0关闭, 1开启
示例代码
[self.ivyCamera getVoiceState:^(NSInteger mode, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, mode:%@", @(cmdResult), @(mode));
}];
设置提示语音开关状态
接口说明
设置提示语音开关状态
- (void)setVoiceState:(NSInteger)mode onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
mode | 状态 |
resultBlock | 结果 |
示例代码
[self.ivyCamera setVoiceState:1 onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
云端配置
在线升级
接口说明
在线升级
- (void)setOnlineUpgrade:(NSString *)URLString onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
URLString | 升级链接 |
resultBlock | 结果 |
示例代码
NSString *URLString = @"http://test-download.myfoscam.com:9001/firmware/test/anba_F_app_ver2.x.1.77_0821--1569550740170.bin";
[self.ivyCamera setOnlineUpgrade:URLString onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
设置云存储配置
接口说明
设置云存储配置
- (void)setCloudStorageConfig:(NSString *)portal deviceMac:(NSString *)deviceMac streamId:(NSString *)streamId userTag:(NSString *)userTag onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
portal | 网关地址 |
deviceMac | 设备Mac |
streamId | 已授权的云存储Id |
userTag | 已授权的用户tag |
resultBlock | 结果 |
示例代码
NSString *portal = @"https://test-api.myfoscam.com:443";
NSString *deviceMac = @"00000000232A";
NSString *streamId = @"1a8d226eca789c189403c112b6c1acb5104256400000000232A";
NSString *userTag = @"d85280b8e9e146679197c2dca2f54531";
[self.ivyCamera setCloudStorageConfig:portal deviceMac:deviceMac streamId:streamId userTag:userTag onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
设置富媒体推送配置
接口说明
设置富媒体推送配置
- (void)setRichMediaPushConfig:(NSString *)portal userTag:(NSString *)userTag onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
portal | 网关地址 |
userTag | 已授权的用户tag |
resultBlock | 结果 |
示例代码
NSString *portal = @"https://test-api.myfoscam.com";
NSString *userTag = @"a44ad70c97f84d21b763412119f3397e";
[self.ivyCamera setRichMediaPushConfig:portal userTag:userTag onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
设置文本推送配置
接口说明
设置文本推送配置
- (void)setTextPushConfig:(NSString *)portal userTag:(NSString *)userTag onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
portal | 网关地址 |
userTag | 已授权的用户tag |
resultBlock | 结果 |
示例代码
NSString *portal = @"https://test-api.myfoscam.com";
NSString *userTag = @"a44ad70c97f84d21b763412119f3397e";
[self.ivyCamera setTextPushConfig:portal userTag:userTag onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
通用命令
通用命令
接口说明
通用命令
- (void)sendCommand:(int)cgiCommand parameters:(NSDictionary *)parameters iTimeout:(int)iTimeout onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
cgiCommand | 命令 |
parameters | 输入参数 |
iTimeout | 超时时长 |
resultBlock | 结果 |
示例代码
[self.ivyCamera sendCommand:IVY_CTRL_MSG_GET_OSD_PARAM parameters:@{} iTimeout:kTimeout onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
NSInteger osdType = 0b001;
NSDictionary *parameters = @{@"dispPos" : @(0),
@"osdType" : @(osdType)};
[self.ivyCamera sendCommand:IVY_CTRL_MSG_SET_OSD_PARAM parameters:parameters iTimeout:kTimeout onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
通用命令,发送CGI命令
接口说明
通用命令,发送CGI命令
- (void)sendCGICommand:(NSString *)cgiCommand iTimeout:(int)iTimeout onCompletion:(IvyCameraResultBlock)resultBlock;
参数说明
参数 | 说明 |
---|---|
cgiCommand | 命令字符串 |
iTimeout | 超时时长 |
resultBlock | 结果 |
示例代码
NSString *deviceName = @"Küche";
NSString *value = [deviceName UTF8ToUnicode];
NSString *cmd = [NSString stringWithFormat:@"cmd=setDevNameUnicode&devNameUnicode=%@", value];
[self.ivyCamera sendCGICommand:cmd iTimeout:30000 onCompletion:^(id _Nullable obj, IVYIO_RESULT cmdResult) {
NSLog(@"... cmdResult:%@, obj:%@", @(cmdResult), obj);
}];
事件管理
添加一个事件的观察者
接口说明
添加一个事件的观察者
- (void)addEventObserver:(id)observer selector:(SEL)aSelector;
参数说明
参数 | 说明 |
---|---|
observer | 观察者 |
aSelector | 选择子 |
说明
必须调用removeEventObserver:移除当前观察者
示例代码
[self.ivyCamera addEventObserver:self selector:@selector(handleEvent:)];
- (void)handleEvent:(NSDictionary *)eventDict {
NSInteger eventId = [eventDict[@"eventId"] integerValue];
NSLog(@"... eventId:%@ eventDict:%@", @(eventId), eventDict);
switch (eventId) {
case IVY_CTRL_MSG_DAY_NIGHT_MODE_CHG: {
}
break;
case IVY_CTRL_MSG_MIRROR_FLIP_CHG: {
}
break;
case IVY_CTRL_MSG_ONLINE_UPGRADE_STATE: {
NSLog(@"... IVY_CTRL_MSG_ONLINE_UPGRADE_STATE eventDict:%@", eventDict);
}
default:
break;
}
}
移除一个观察者
接口说明
移除一个观察者
- (void)removeEventObserver:(id)observer;
参数说明
参数 | 说明 |
---|---|
observer | 观察者 |
示例代码
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.ivyCamera removeEventObserver:self];
}
IvyPlayer 实时直播
IvyPlayer 实时直播类
直播
接口说明
直播
- (void)playLive:(IvyCamera *)ivyCamera decodeType:(IvyVideoDecodeType)decodeType;
参数说明
参数 | 说明 |
---|---|
ivyCamera | 设备 |
decodeType | 解码数据的类型 |
示例代码
- (void)play {
__weak typeof(self) weakSelf = self;
[self.ivyCamera loginCamera:^(IVYIO_HANDLE_STATE handleState, IVYIO_RESULT cmdResult) {
if (IVYIO_HANDLE_STATE_ONLINE == handleState) {
[weakSelf.ivyPlayer playLive:self.ivyCamera decodeType:IvyVideoDecodeUIImage];
} else {
NSLog(@"... Offline");
}
}];
}
- (IvyPlayer *)ivyPlayer {
if (!_ivyPlayer) {
_ivyPlayer = [IvyPlayer new];
_ivyPlayer.delegate = self;
}
return _ivyPlayer;
}
停止播放
接口说明
停止播放
- (void)stop;
示例代码
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.ivyPlayer endTalk];
[self.ivyPlayer stop];
}
打开对讲
接口说明
打开对讲
- (void)startTalk;
示例代码
[self.ivyPlayer startTalk];
关闭对讲
接口说明
关闭对讲
- (void)endTalk;
示例代码
[self.ivyPlayer endTalk];
音频开关
属性说明
音频开关
@property (nonatomic, assign) BOOL validAudio;
示例代码
self.ivyPlayer.validAudio = NO;
代理
属性说明
代理
@property (nonatomic, weak) id<IvyPlayerDelegate > delegate;
IvyPlayerDelegate 实时直播代理
解码到一帧UIImage的图像
接口说明
解码到一帧UIImage的图像
- (void)ivyPlayer:(IvyPlayer *)ivyPlayer didReciveFrame:(UIImage *)image isFirstFrame:(BOOL)isFirstFrame;
参数说明
参数 | 说明 |
---|---|
ivyPlayer | 当前播放器 |
image | 一帧图像 |
isFirstFrame | 是否为第一帧数据 |
说明
播放使用IvyVideoDecodeUIImage类型时,帧数据通过该方法回掉。否则通过ivyPlayer:didReciveIVYFrame:isFirstFrame回掉指定帧数据。
示例代码
- (void)ivyPlayer:(IvyPlayer *)ivyPlayer didReciveFrame:(UIImage *)image isFirstFrame:(BOOL)isFirstFrame {
self.imageView.image = image;
if (isFirstFrame) {
}
}
解码到一帧指定格式的图像
接口说明
解码到一帧指定格式的图像
- (void)ivyPlayer:(IvyPlayer *)ivyPlayer didReciveIVYFrame:(IVYIO_FRAME *)frame isFirstFrame:(BOOL)isFirstFrame;
参数说明
参数 | 说明 |
---|---|
ivyPlayer | 当前播放器 |
frame | 指定帧数据 |
isFirstFrame | 是否为第一帧数据 |
示例代码
- (void)ivyPlayer:(IvyPlayer *)ivyPlayer didReciveIVYFrame:(IVYIO_FRAME *)frame isFirstFrame:(BOOL)isFirstFrame {
NSLog(@"... isKey:%@ len:%@", @(frame->iKey), @(frame->len));
}
命令结果
接口说明
命令结果
- (void)ivyPlayer:(IvyPlayer *)ivyPlayer playerCommand:(IvyPlayerCommand)command result:(IVYIO_RESULT)result;
参数说明
参数 | 说明 |
---|---|
ivyPlayer | 当前播放器 |
command | 命令 |
result | 结果 |
示例代码
- (void)ivyPlayer:(IvyPlayer *)ivyPlayer playerCommand:(IvyPlayerCommand)command result:(IVYIO_RESULT)result {
NSLog(@"... command:%@ result:%@", @(command), @(result));
}
播放流量
接口说明
播放流量
- (void)ivyPlayer:(IvyPlayer *)ivyPlayer mediaTransmitSpeed:(NSUInteger)transmitSpeed;
参数说明
参数 | 说明 |
---|---|
ivyPlayer | 当前播放器 |
transmitSpeed | 流量大小(Kb) |
示例代码
- (void)ivyPlayer:(IvyPlayer *)ivyPlayer mediaTransmitSpeed:(NSUInteger)transmitSpeed {
NSString *text = nil;
CGFloat mb = transmitSpeed / (1024.f * 1024.f);
if (mb > 1) {
text = [NSString stringWithFormat:@"%4.1fMB", mb];
} else {
CGFloat kb = transmitSpeed / 1024.f;
text = [NSString stringWithFormat:@"%4.1fKB",kb];
}
NSLog(@"... transmitSpeed:%@", text);
}
IvySDPlayer SD卡播放
IvySDPlayer SD卡播放类
播放SD卡录像
接口说明
播放SD卡录像
- (void)playBack:(IvyCamera *)ivyCamera recordObject:(id<IvyRecordObject>)recordObject decodeType:(IvyVideoDecodeType)decodeType;
参数说明
参数 | 说明 |
---|---|
ivyCamera | 设备对象 |
recordObject | 录像对象 |
decodeType | 解码数据的类型 |
示例代码
- (void)playBack:(id<IvyRecordObject>)obj {
if (nil == obj) { return; }
[self.player playBack:self.ivyCamera recordObject:obj decodeType:IvyVideoDecodeUIImage];
self.player.validAudio = YES;
}
- (IvySDPlayer *)player {
if (!_player) {
_player = [IvySDPlayer new];
_player.delegate = self;
}
return _player;
}
暂停播放
接口说明
暂停播放
- (void)pause;
示例代码
继续播放
接口说明
继续播放
- (void)resume;
示例代码
设置播放位置
接口说明
设置播放位置
- (void)seekToPosition:(NSTimeInterval)pos;
参数说明
参数 | 说明 |
---|---|
pos | 播放位置 |
示例代码
NSTimeInterval pos = 10;
[self.player seekToPosition:pos];
停止播放
接口说明
停止播放
- (void)stop;
示例代码
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[self.player stop];
}
音频开关
属性说明
音频开关
@property (nonatomic, assign) BOOL validAudio;
示例代码
self.player.validAudio = NO;
代理
属性说明
代理
@property (nonatomic, weak) id<IvySDPlayerDelegate> delegate;
IvySDPlayerDelegate SD卡播放代理
解码到一帧UIImage的图像
接口说明
解码到一帧UIImage的图像
- (void)ivySDPlayer:(IvySDPlayer *)player didReciveFrame:(UIImage *)image isFirstFrame:(BOOL)isFirstFrame;
参数说明
参数 | 说明 |
---|---|
player | 当前播放器 |
image | 一帧图像 |
isFirstFrame | 是否为第一帧数据 |
说明
播放使用IvyVideoDecodeUIImage类型时,帧数据通过该方法回掉。否则通过ivySDPlayer:didReciveIVYFrame:isFirstFrame回掉指定帧数据。
示例代码
- (void)ivySDPlayer:(IvySDPlayer *)player didReciveFrame:(UIImage *)image isFirstFrame:(BOOL)isFirstFrame {
self.imageView.image = image;
if (isFirstFrame) {
}
}
解码到一帧指定格式的图像
接口说明
解码到一帧指定格式的图像
- (void)ivySDPlayer:(IvySDPlayer *)player didReciveIVYFrame:(IVYIO_FRAME *)frame isFirstFrame:(BOOL)isFirstFrame;
参数说明
参数 | 说明 |
---|---|
player | 当前播放器 |
frame | 指定帧数据 |
isFirstFrame | 是否为第一帧数据 |
示例代码
命令结果
接口说明
命令结果
- (void)ivySDPlayer:(IvySDPlayer *)player playerCommand:(IvyPlayerCommand)command result:(IVYIO_RESULT)result;
参数说明
参数 | 说明 |
---|---|
player | 当前播放器 |
command | 命令 |
result | 结果 |
示例代码
- (void)ivySDPlayer:(IvySDPlayer *)player playerCommand:(IvyPlayerCommand)command result:(IVYIO_RESULT)result {
NSLog(@"... command:%@ result:%@", @(command), @(result));
switch (command) {
case IvyPlayerOpenVideo: {
if (result != IVYIO_RESULT_OK) {
_isFinished = YES;
}
}
break;
case IvyPlayerCloseVideo: {
_isFinished = YES;
}
break;
case IvyPlayerFinished: {
self.imageView.image = nil;
[self autoPlay];
}
break;
default:
break;
}
}
播放时间
接口说明
播放时间
- (void)ivySDPlayer:(IvySDPlayer *)player totalTime:(NSTimeInterval)totalTime timePosition:(NSTimeInterval)timePosition;
参数说明
参数 | 说明 |
---|---|
player | 当前播放器 |
totalTime | 本段录像总时长 |
timePosition | 当前播放位置 |
示例代码
- (void)ivySDPlayer:(IvySDPlayer *)player totalTime:(NSTimeInterval)totalTime timePosition:(NSTimeInterval)timePosition {
NSLog(@"... totalTime:%@ timePosition:%@", @(totalTime), @(timePosition));
}
缓冲进度
接口说明
缓冲进度
- (void)ivySDPlayer:(IvySDPlayer *)player bufferingProgress:(CGFloat)progress;
参数说明
参数 | 说明 |
---|---|
player | 当前播放器 |
progress | 缓冲进度 |
示例代码
- (void)ivySDPlayer:(IvySDPlayer *)player bufferingProgress:(CGFloat)progress {
NSLog(@"... buffering progress:%@", @(progress));
}
播放流量
接口说明
播放流量
- (void)ivySDPlayer:(IvySDPlayer *)player mediaTransmitSpeed:(NSUInteger)transmitSpeed;
参数说明
参数 | 说明 |
---|---|
player | 当前播放器 |
transmitSpeed | 流量大小(Kb) |
示例代码
- (void)ivySDPlayer:(IvySDPlayer *)player mediaTransmitSpeed:(NSUInteger)transmitSpeed {
NSString *text = nil;
CGFloat mb = transmitSpeed / (1024.f * 1024.f);
if (mb > 1) {
text = [NSString stringWithFormat:@"%4.1fMB", mb];
} else {
CGFloat kb = transmitSpeed / 1024.f;
text = [NSString stringWithFormat:@"%4.1fKB",kb];
}
NSLog(@"... transmitSpeed:%@", text);
}
IvySDDownloader SD卡录像下载
IvySDDownloader 类
IvySDDownloader单例
接口说明
IvySDDownloader单例
+ (IvySDDownloader *)shared;
示例代码
下载SD卡录像文件
接口说明
下载SD卡录像文件
- (void)downloadSDCardRecod:(IvyCamera *)ivyCamera recordObject:(id<IvyRecordObject>)recordObject toURL:(NSURL *)location;
参数说明
参数 | 说明 |
---|---|
ivyCamera | 设备对象 |
recordObject | 待下载的SD卡录像对象 |
location | SD卡录像文件存储路径 |
示例代码
- (void)downloadWithObject:(id<IvyRecordObject>)obj {
if ([IvySDDownloader shared].isDownloading) {
NSLog(@"... is downloading");
return;
}
NSURL *locationURL = nil;
switch (obj.type) {
case IvyRecordType0: {
IvyRecordObject0 *model = (IvyRecordObject0 *)obj;
NSString *locationStr = [NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp4", @(model.sTime)]];
locationURL = [NSURL URLWithString:locationStr];
}
break;
case IvyRecordType1: {
IvyRecordObject1 *model = (IvyRecordObject1 *)obj;
NSString *filepath = model.filepath;
NSString *filename = [NSString stringWithFormat:@"%@.mp4", [[filepath componentsSeparatedByString:@"/"].lastObject componentsSeparatedByString:@"."].firstObject];
NSString *locationStr = [NSTemporaryDirectory() stringByAppendingPathComponent:filename];
locationURL = [NSURL URLWithString:locationStr];
}
break;
}
NSLog(@"... locationURL:%@", locationURL.absoluteString);
[IvySDDownloader shared].delegate = self;
[[IvySDDownloader shared] downloadSDCardRecod:self.ivyCamera recordObject:obj toURL:locationURL];
}
取消当前下载
接口说明
取消当前下载
- (void)cancel;
示例代码
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
if ([IvySDDownloader shared].isDownloading) {
[[IvySDDownloader shared] cancel];
}
[self.player stop];
}
代理
属性说明
代理
@property (nonatomic, weak) id<IvySDDownloaderDelegate> delegate;
IvySDDownloaderDelegate 代理
SD卡录像下载成功
接口说明
SD卡录像下载成功
- (void)ivySDDownloader:(IvySDDownloader *)downloader didFinishDownloadingToURL:(NSURL *)location;
参数说明
参数 | 说明 |
---|---|
downloader | IvySDDownloader对象 |
location | SD卡录像文件存储路径 |
示例代码
#pragma mark - IvySDDownloaderDelegate
- (void)ivySDDownloader:(IvySDDownloader *)downloader didFinishDownloadingToURL:(NSURL *)location {
NSLog(@"... ivySDDownloader didFinishDownloadingToURL:%@", location.absoluteString);
}
- (void)ivySDDownloader:(IvySDDownloader *)downloader progress:(CGFloat)progress {
NSLog(@"... ivySDDownloader progress:%@", @(progress));
}
- (void)ivySDDownloader:(IvySDDownloader *)downloader didFinishDownloadingWithError:(IVYIO_RESULT)result {
NSLog(@"... ivySDDownloader didFinishDownloadingWithError:%@", @(result));
}
SD卡录像下载进度
接口说明
SD卡录像下载进度
- (void)ivySDDownloader:(IvySDDownloader *)downloader progress:(CGFloat)progress;
参数说明
参数 | 说明 |
---|---|
downloader | IvySDDownloader对象 |
progress | 进度值 |
说明
progress范围0~1
示例代码
SD卡录像下载失败
接口说明
SD卡录像下载失败
- (void)ivySDDownloader:(IvySDDownloader *)downloader didFinishDownloadingWithError:(IVYIO_RESULT)result;
参数说明
参数 | 说明 |
---|---|
downloader | IvySDDownloader对象 |
result | 失败原因 |
示例代码
IvyVoicePlayer声波配网
IvyVoicePlayer类
初始化方法
接口说明
初始化方法
- (instancetype)initWithSSID:(nonnull NSString *)SSID password:(nonnull NSString *)password deviceUID:(nullable NSString *)deviceUID;
参数说明
参数 | 说明 |
---|---|
SSID | Wi-Fi SSID |
password | Wi-Fi 密码 |
deviceUID | 设备UID |
返回
IvyVoicePlayer对象
示例代码
NSString *SSID = kDeviceUID;
NSString *password = kWiFiPassword;
NSString *deviceUID = kDeviceUID;
_voicePlayer = [[IvyVoicePlayer alloc] initWithSSID:SSID password:password deviceUID:deviceUID];
_voicePlayer.delegate = self;
[_voicePlayer play];
播放
接口说明
播放
- (void)play;
示例代码
停止播放
接口说明
停止播放
- (void)stop;
示例代码
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
if (_voicePlayer) {
[_voicePlayer stop];
}
}
代理
属性说明
代理
@property (nonatomic, weak) id<IvyVoicePlayerDelegate> delegate;
IvyVoicePlayerDelegate代理
声波配网完成
接口说明
声波配网完成
- (void)ivyVoicePlayerDidFinishPlaying:(IvyVoicePlayer *)player successfully:(BOOL)flag;
参数说明
参数 | 说明 |
---|---|
player | 当前对象 |
flag | 结果 |
示例代码
#pragma mark - IvyVoicePlayerDelegate
- (void)ivyVoicePlayerDidFinishPlaying:(IvyVoicePlayer *)player successfully:(BOOL)flag {
NSLog(@"... did Finish Playing flag:%@", @(flag));
}
- (void)ivyVoicePlayerDecodeErrorDidOccur:(IvyVoicePlayer *)player error:(NSError * __nullable)error {
NSLog(@"... decodeErrorDidOccur:%@", error);
}
声波配网异常
接口说明
声波配网异常
- (void)ivyVoicePlayerDecodeErrorDidOccur:(IvyVoicePlayer *)player error:(NSError * __nullable)error;
参数说明
参数 | 说明 |
---|---|
player | 当前对象 |
error | 异常 |
示例代码
Ivy数据模型
IvyDevAbility 设备能力集
属性定义
属性说明
属性定义
@property (nonatomic, assign) NSInteger val0;
@property (nonatomic, assign) NSInteger val1;
@property (nonatomic, assign) NSInteger val2;
@property (nonatomic, assign) NSInteger val3;
@property (nonatomic, assign) NSInteger val4;
@property (nonatomic, assign) NSInteger val5;
@property (nonatomic, assign) NSInteger val6;
@property (nonatomic, assign) NSInteger val7;
@property (nonatomic, assign) NSInteger val8;
IvyDevAbility (Helper) 设备能力集Helper
是否支持 sd 卡
属性说明
是否支持 sd 卡
@property (nonatomic, assign, readonly) BOOL enableSD;
是否支持 outdoor
属性说明
是否支持 outdoor
@property (nonatomic, assign, readonly) BOOL enableOutdoor;
是否支持 pt
属性说明
是否支持 pt
@property (nonatomic, assign, readonly) BOOL enablePT;
是否支持 zoom
属性说明
是否支持 zoom
@property (nonatomic, assign, readonly) BOOL enableZoom;
是否支持 rs485
属性说明
是否支持 rs485
@property (nonatomic, assign, readonly) BOOL enableRS485;
是否支持 ioAlarm
属性说明
是否支持 ioAlarm
@property (nonatomic, assign, readonly) BOOL enableIOAlarm;
是否支持 onvif
属性说明
是否支持 onvif
@property (nonatomic, assign, readonly) BOOL enableOnvif;
是否支持 p2p
属性说明
是否支持 p2p
@property (nonatomic, assign, readonly) BOOL enableP2P;
是否支持 wps
属性说明
是否支持 wps
@property (nonatomic, assign, readonly) BOOL enableWPS;
是否支持 监听(设备提示音量调节)
属性说明
是否支持 监听(设备提示音量调节)
@property (nonatomic, assign, readonly) BOOL enableAudio;
是否支持 对讲
属性说明
是否支持 对讲
@property (nonatomic, assign, readonly) BOOL enableTalk;
是否支持 全双工对讲
属性说明
是否支持 全双工对讲
@property (nonatomic, assign, readonly) BOOL enableDuplexVoice;
是否支持 视频参数网络自适应
属性说明
是否支持 视频参数网络自适应
@property (nonatomic, assign, readonly) BOOL enableNetworkAdapter;
是否支持 分辨率切换和主次码流切换
属性说明
是否支持 分辨率切换和主次码流切换
@property (nonatomic, assign, readonly) BOOL enableStreamMode;
说明
为NO: 只支持主次码流切换
是否支持 区域选择
属性说明
是否支持 区域选择
@property (nonatomic, assign, readonly) BOOL enableMotionArea;
是否支持 一键呼叫
属性说明
是否支持 一键呼叫
@property (nonatomic, assign, readonly) BOOL enableOneKeyCall;
是否支持 夜视计划
属性说明
是否支持 夜视计划
@property (nonatomic, assign, readonly) BOOL enableNightVisionSchedule;
是否支持 SD卡图片下载
属性说明
是否支持 SD卡图片下载
@property (nonatomic, assign, readonly) BOOL enableSDCardPictureDownload;
是否支持 dropbox 云存储
属性说明
是否支持 dropbox 云存储
@property (nonatomic, assign, readonly) BOOL enableDropboxStorage;
说明
NO表示支持百度云存储(fosbaby内外销系列都只支持百度云存储)
是否支持 百度推送
属性说明
是否支持 百度推送
@property (nonatomic, assign, readonly) BOOL enableBaiduPush;
是否支持 Foscam 推送
属性说明
是否支持 Foscam 推送
@property (nonatomic, assign, readonly) BOOL enableFoscamPush;
是否支持 Foscam 存储
属性说明
是否支持 Foscam 存储
@property (nonatomic, assign, readonly) BOOL enableFoscamStorage;
是否支持 Foscam 富媒体推送
属性说明
是否支持 Foscam 富媒体推送
@property (nonatomic, assign, readonly) BOOL enableFoscamRichPush;
是否支持 Alexa
属性说明
是否支持 Alexa
@property (nonatomic, assign, readonly) BOOL enableAlexa;
是否支持 7*24 小时云存储
属性说明
是否支持 7*24 小时云存储
@property (nonatomic, assign, readonly) BOOL enable24HStorage;
是否支持 告警录像时长设置
属性说明
是否支持 告警录像时长设置
@property (nonatomic, assign, readonly) BOOL enableRecordTimeSet;
是否支持 APP 预置位巡航
属性说明
是否支持 APP 预置位巡航
@property (nonatomic, assign, readonly) BOOL enablePresetCruise;
是否支持 框外侦测
属性说明
是否支持 框外侦测
@property (nonatomic, assign, readonly) BOOL enableOutSideDetect;
是否支持 声音侦测
属性说明
是否支持 声音侦测
@property (nonatomic, assign, readonly) BOOL enableAudioDetect;
是否支持 温度侦测
属性说明
是否支持 温度侦测
@property (nonatomic, assign, readonly) BOOL enableTemperatureDetect;
是否支持 湿度侦测
属性说明
是否支持 湿度侦测
@property (nonatomic, assign, readonly) BOOL enableHumidityDetect;
是否支持 PIR侦测
属性说明
是否支持 PIR侦测
@property (nonatomic, assign, readonly) BOOL enablePIRDetect;
是否支持 IV侦测
属性说明
是否支持 IV侦测
@property (nonatomic, assign, readonly) BOOL enableIVDetect;
是否支持 人体侦测–爱华盈通
属性说明
是否支持 人体侦测–爱华盈通
@property (nonatomic, assign, readonly) BOOL enableHumanDetect_aiwinn;
是否支持 人体侦测–珊口
属性说明
是否支持 人体侦测–珊口
@property (nonatomic, assign, readonly) BOOL enableHumanDetect_sanko;
是否支持 童谣
属性说明
是否支持 童谣
@property (nonatomic, assign, readonly) BOOL enableBabyMusic;
是否支持 芯片加密
属性说明
是否支持 芯片加密
@property (nonatomic, assign, readonly) BOOL enableChipEncrypt;
是否支持 SoftAP
属性说明
是否支持 SoftAP
@property (nonatomic, assign, readonly) BOOL enableSoftAP;
是否支持 EZLink
属性说明
是否支持 EZLink
@property (nonatomic, assign, readonly) BOOL enableEZLink;
说明
不区分芯片,不表示是否支持IPC扫码
是否支持 PPPoE
属性说明
是否支持 PPPoE
@property (nonatomic, assign, readonly) BOOL enablePPPoE;
是否支持 夜视红外功能
属性说明
是否支持 夜视红外功能
@property (nonatomic, assign, readonly) BOOL enableNightIRCut;
是否支持 录像功能
属性说明
是否支持 录像功能
@property (nonatomic, assign, readonly) BOOL enableRecord;
是否支持 定时重启
属性说明
是否支持 定时重启
@property (nonatomic, assign, readonly) BOOL enableTimingReset;
是否支持 布撤防
属性说明
是否支持 布撤防
@property (nonatomic, assign, readonly) BOOL enableDefend;
是否支持 指示灯开关
属性说明
是否支持 指示灯开关
@property (nonatomic, assign, readonly) BOOL enableLEDLight;
是否支持 小夜灯开关
属性说明
是否支持 小夜灯开关
@property (nonatomic, assign, readonly) BOOL enableNightLight;
是否支持 扬声器音量控制
属性说明
是否支持 扬声器音量控制
@property (nonatomic, assign, readonly) BOOL enableVolume;
是否支持 HDR
属性说明
是否支持 HDR
@property (nonatomic, assign, readonly) BOOL enableHDR;
是否支持 WDR
属性说明
是否支持 WDR
@property (nonatomic, assign, readonly) BOOL enableWDR;
是否支持 语音提示开关
属性说明
是否支持 语音提示开关
@property (nonatomic, assign, readonly) BOOL enableVoiceTips;
是否支持 神马全双工算法
属性说明
是否支持 神马全双工算法
@property (nonatomic, assign, readonly) BOOL enableShenMaDuplexVoice;
是否支持 双马达自动聚焦
属性说明
是否支持 双马达自动聚焦
@property (nonatomic, assign, readonly) BOOL enable2MotorsAutoFocus;
是否支持 云台巡航看守位
属性说明
是否支持 云台巡航看守位
@property (nonatomic, assign, readonly) BOOL enablePTCruise;
是否支持 设备名称Unicode
属性说明
是否支持 设备名称Unicode
@property (nonatomic, assign, readonly) BOOL enableUnicodeDevName;
是否支持 设备休眠
属性说明
是否支持 设备休眠
@property (nonatomic, assign, readonly) BOOL enableSleep;
IvyDevInfo 设备信息
设备类型
属性说明
设备类型
@property (nonatomic, assign) NSInteger devType;
平台类型
属性说明
平台类型
@property (nonatomic, assign) NSInteger platType;
sensor类型
属性说明
sensor类型
@property (nonatomic, assign) NSInteger sensorType;
wifi类型
属性说明
wifi类型
@property (nonatomic, assign) NSInteger wifiType;
语言
属性说明
语言
@property (nonatomic, assign) NSInteger language;
产品名字
属性说明
产品名字
@property (nonatomic, strong) NSString *productName;
设备名
属性说明
设备名
@property (nonatomic, strong) NSString *devName;
应用固件版本号
属性说明
应用固件版本号
@property (nonatomic, strong) NSString *firmwareVersion;
系统固件版本号
属性说明
系统固件版本号
@property (nonatomic, strong) NSString *hardwareVersion;
序列号
属性说明
序列号
@property (nonatomic, strong) NSString *serialNo;
设备UID
属性说明
设备UID
@property (nonatomic, strong) NSString *uid;
MAC 地址
属性说明
MAC 地址
@property (nonatomic, strong) NSString *mac;
OEM 码
属性说明
OEM 码
@property (nonatomic, assign) NSInteger oemCode;
IvyDevLan 局域网搜索
Mac地址
属性说明
Mac地址
@property (nonatomic, strong) NSString *mac;
设备名
属性说明
设备名
@property (nonatomic, strong) NSString *name;
IP地址
属性说明
IP地址
@property (nonatomic, strong) NSString *ip;
mask
属性说明
mask
@property (nonatomic, assign) NSInteger mask;
NDS
属性说明
NDS
@property (nonatomic, assign) NSInteger dns;
类型 0:FOSIPC_H264 1:FOSIPC_MJ 2: FOSIPC_UNKNOW
属性说明
类型 0:FOSIPC_H264 1:FOSIPC_MJ 2: FOSIPC_UNKNOW
@property (nonatomic, assign) NSInteger type;
端口
属性说明
端口
@property (nonatomic, assign) NSInteger port;
DHCP 是否开启
属性说明
DHCP 是否开启
@property (nonatomic, assign) NSInteger dhcp_enabled;
设备UID
属性说明
设备UID
@property (nonatomic, strong) NSString *uid;
IvyMotionDetect 移动侦测告警协议
移动侦测告警类类型
属性说明
移动侦测告警类类型
@property (nonatomic, assign, readonly) IvyMotionDetectType type;
IvyMotionDetectObject0 移动侦测告警模型1
开关
属性说明
开关
@property (nonatomic, assign) NSInteger isEnable;
说明
0:关 1:开
移动侦测开关
属性说明
移动侦测开关
@property (nonatomic, assign) NSInteger isMovAlarmEnable;
说明
0:关 1:开
PIR侦测开关
属性说明
PIR侦测开关
@property (nonatomic, assign) NSInteger isPirAlarmEnable;
说明
0:关 1:开
联动
属性说明
联动
@property (nonatomic, assign) NSInteger linkage;
说明
Bit0:Ring Bit1:发送邮件 Bit2:截图 Bit3:录像 Bit4:Io输出 Bit5:截图上云 Bit6:录像上云 Bit7:手机推送
抓拍间隔秒
属性说明
抓拍间隔秒
@property (nonatomic, assign) NSInteger snapInterval;
敏感度
属性说明
敏感度
@property (nonatomic, assign) NSInteger sensitivity;
触发间隔
属性说明
触发间隔
@property (nonatomic, assign) NSInteger triggerInterval;
周日
属性说明
周日
@property (nonatomic, assign) long long schedule0;
说明
bit0-bit47表示一天,每个bit表示半个小时
281474976710655: 表示全天
246290738806799: 表示00:00 ~ 02:00、07:30 ~ 13:30、22:30 ~ 24:00
周一
属性说明
周一
@property (nonatomic, assign) long long schedule1;
周二
属性说明
周二
@property (nonatomic, assign) long long schedule2;
周三
属性说明
周三
@property (nonatomic, assign) long long schedule3;
周四
属性说明
周四
@property (nonatomic, assign) long long schedule4;
周五
属性说明
周五
@property (nonatomic, assign) long long schedule5;
周六
属性说明
周六
@property (nonatomic, assign) long long schedule6;
侦测告警区域
属性说明
侦测告警区域
@property (nonatomic, assign) NSInteger areas0;
@property (nonatomic, assign) NSInteger areas1;
@property (nonatomic, assign) NSInteger areas2;
@property (nonatomic, assign) NSInteger areas3;
@property (nonatomic, assign) NSInteger areas4;
@property (nonatomic, assign) NSInteger areas5;
@property (nonatomic, assign) NSInteger areas6;
@property (nonatomic, assign) NSInteger areas7;
@property (nonatomic, assign) NSInteger areas8;
@property (nonatomic, assign) NSInteger areas9;
说明
侦测告警区域被划分成10 * 10个小区域,每一个areas表示画面上某一行的10个区域,一共10个areas,areas按位表示,取值范围为0~1023
IvyMotionDetectObject1 移动侦测告警模型2
开关
属性说明
开关
@property (nonatomic, assign) NSInteger isEnable;
说明
0:关 1:开
移动侦测开关
属性说明
移动侦测开关
@property (nonatomic, assign) NSInteger isMovAlarmEnable;
说明
0:关 1:开
PIR侦测开关
属性说明
PIR侦测开关
@property (nonatomic, assign) NSInteger isPirAlarmEnable;
说明
0:关 1:开
联动
属性说明
联动
@property (nonatomic, assign) NSInteger linkage;
说明
Bit0:Ring Bit1:发送邮件 Bit2:截图 Bit3:录像 Bit4:Io输出 Bit5:截图上云 Bit6:录像上云 Bit7:手机推送
抓拍间隔秒
属性说明
抓拍间隔秒
@property (nonatomic, assign) NSInteger snapInterval;
触发间隔
属性说明
触发间隔
@property (nonatomic, assign) NSInteger triggerInterval;
周日
属性说明
周日
@property (nonatomic, assign) long long schedule0;
说明
bit0-bit47表示一天,每个bit表示半个小时
281474976710655: 表示全天
246290738806799: 表示00:00 ~ 02:00、07:30 ~ 13:30、22:30 ~ 24:00
周一
属性说明
周一
@property (nonatomic, assign) long long schedule1;
周二
属性说明
周二
@property (nonatomic, assign) long long schedule2;
周三
属性说明
周三
@property (nonatomic, assign) long long schedule3;
周四
属性说明
周四
@property (nonatomic, assign) long long schedule4;
周五
属性说明
周五
@property (nonatomic, assign) long long schedule5;
周六
属性说明
周六
@property (nonatomic, assign) long long schedule6;
侦测区域
属性说明
三个侦测区域
@property (nonatomic, assign) NSInteger x0;
@property (nonatomic, assign) NSInteger x1;
@property (nonatomic, assign) NSInteger x2;
@property (nonatomic, assign) NSInteger y0;
@property (nonatomic, assign) NSInteger y1;
@property (nonatomic, assign) NSInteger y2;
@property (nonatomic, assign) NSInteger width0;
@property (nonatomic, assign) NSInteger width1;
@property (nonatomic, assign) NSInteger width2;
@property (nonatomic, assign) NSInteger height0;
@property (nonatomic, assign) NSInteger height1;
@property (nonatomic, assign) NSInteger height2;
说明
第一个区域: Rect(x0, y0, width0, height0)
第二个区域: Rect(x1, y1, width1, height1)
第三个区域: Rect(x2, y2, width2, height2)
第一个区域告警敏感度
属性说明
第一个区域告警敏感度
@property (nonatomic, assign) NSInteger sensitivity0;
第二个区域告警敏感度
属性说明
第二个区域告警敏感度
@property (nonatomic, assign) NSInteger sensitivity1;
第三个区域告警敏感度
属性说明
第三个区域告警敏感度
@property (nonatomic, assign) NSInteger sensitivity2;
是否开启第一个区域侦测告警
属性说明
是否开启第一个区域侦测告警
@property (nonatomic, assign) NSInteger valid0;
是否开启第二个区域侦测告警
属性说明
是否开启第二个区域侦测告警
@property (nonatomic, assign) NSInteger valid1;
是否开启第三个区域侦测告警
属性说明
是否开启第三个区域侦测告警
@property (nonatomic, assign) NSInteger valid2;
IvyAudioDetect 声音侦测告警
开关
属性说明
开关
@property (nonatomic, assign) NSInteger isEnable;
说明
0:关 1:开
联动
属性说明
联动
@property (nonatomic, assign) NSInteger linkage;
说明
Bit0:Ring Bit1:发送邮件 Bit2:截图 Bit3:录像 Bit4:Io输出 Bit5:截图上云 Bit6:录像上云 Bit7:手机推送
敏感度
属性说明
敏感度
@property (nonatomic, assign) NSInteger sensitivity;
触发间隔
属性说明
触发间隔
@property (nonatomic, assign) NSInteger triggerInterval;
抓拍间隔
属性说明
抓拍间隔
@property (nonatomic, assign) NSInteger snapInterval;
周日
属性说明
周日
@property (nonatomic, assign) long long schedule0;
说明
bit0-bit47表示一天,每个bit表示半个小时
281474976710655: 表示全天
246290738806799: 表示00:00 ~ 02:00、07:30 ~ 13:30、22:30 ~ 24:00
周一
属性说明
周一
@property (nonatomic, assign) long long schedule1;
周二
属性说明
周二
@property (nonatomic, assign) long long schedule2;
周三
属性说明
周三
@property (nonatomic, assign) long long schedule3;
周四
属性说明
周四
@property (nonatomic, assign) long long schedule4;
周五
属性说明
周五
@property (nonatomic, assign) long long schedule5;
周六
属性说明
周六
@property (nonatomic, assign) long long schedule6;
IvyPedestrianDetect 人体侦测告警
开关
属性说明
开关
@property (nonatomic, assign) BOOL isEnable;
追踪开关
属性说明
追踪开关
@property (nonatomic, assign) BOOL isTrackEnable;
联动告警
属性说明
联动告警
@property (nonatomic, assign) NSInteger linkage;
灵敏度
属性说明
灵敏度
@property (nonatomic, assign) NSInteger sensitivity;
说明
0:low 1:middle 2:high
抓拍时间间隔
属性说明
抓拍时间间隔
@property (nonatomic, assign) NSInteger snapInterval;
触发时间间隔
属性说明
触发时间间隔
@property (nonatomic, assign) NSInteger triggerInterval;
IvyScheduleRecordConfig 计划录像配置
是否开启计划录像
属性说明
是否开启计划录像
@property (nonatomic, assign) BOOL isEnable;
录像级别
属性说明
录像级别
@property (nonatomic, assign) NSInteger recordLevel;
空间满后录像处理方式
属性说明
空间满后录像处理方式
@property (nonatomic, assign) NSInteger spaceFullMode;
说明
0:覆盖 1:停止
是否包含音频
属性说明
是否包含音频
@property (nonatomic, assign) NSInteger isEnableAudio;
说明
0:不包含音频 1:包含音频
录像码流类型
属性说明
录像码流类型
@property (nonatomic, assign) NSInteger streamType;
说明
0:主码流 1:子码流
周日
属性说明
周日
@property (nonatomic, assign) long long schedule0;
说明
bit0-bit47表示一天,每个bit表示半个小时
281474976710655: 表示全天
246290738806799: 表示00:00 ~ 02:00、07:30 ~ 13:30、22:30 ~ 24:00
周一
属性说明
周一
@property (nonatomic, assign) long long schedule1;
周二
属性说明
周二
@property (nonatomic, assign) long long schedule2;
周三
属性说明
周三
@property (nonatomic, assign) long long schedule3;
周四
属性说明
周四
@property (nonatomic, assign) long long schedule4;
周五
属性说明
周五
@property (nonatomic, assign) long long schedule5;
周六
属性说明
周六
@property (nonatomic, assign) long long schedule6;
IvySDInfo SD卡信息
是否存在SD卡
属性说明
是否存在SD卡
@property (nonatomic, assign) BOOL isExist;
SD的剩余空间
属性说明
SD的剩余空间
@property (nonatomic, assign) unsigned long long freeSpace;
SD卡总空间
属性说明
SD卡总空间
@property (nonatomic, assign) unsigned long long totalSpace;
IvyRecordList SD卡录像列表
Total number of videos
属性说明
Total number of videos
@property (nonatomic, assign) NSInteger totalCnt;
Start number
属性说明
Start number
@property (nonatomic, assign) NSInteger startNo;
Video list
属性说明
Video list
@property (nonatomic, strong) NSArray<id<IvyRecordObject>> *list;
IvyRecordObject SD卡录像信息协议
录像对象类类型
属性说明
录像对象类类型
@property (nonatomic, assign, readonly) IvyRecordType type;
IvyRecordObject0 SD卡录像信息模型1
通道号
属性说明
通道号
@property (nonatomic, assign) NSInteger channel;
录像开始时间
属性说明
录像开始时间
@property (nonatomic, assign) long long sTime;
录像结束时间
属性说明
录像结束时间
@property (nonatomic, assign) long long eTime;
录像类型
属性说明
录像类型
@property (nonatomic, assign) NSInteger recordType;
IvyRecordObject1 SD卡录像信息模型2
录像路径
属性说明
录像路径
@property (nonatomic, strong) NSString *filepath;
IvyPictureList SD卡图片列表
通道号
属性说明
通道号
@property (nonatomic, assign) NSInteger channel;
总数
属性说明
总数
@property (nonatomic, assign) NSUInteger totalCount;
当前计数
属性说明
当前计数
@property (nonatomic, assign) NSUInteger curCount;
照片列表
属性说明
照片列表
@property (nonatomic, strong) NSArray<IvyPictureInfo *> *list;
IvyPictureInfo SD卡图片
图片格式
属性说明
图片格式
@property (nonatomic, assign) NSInteger format;
时间戳
属性说明
时间戳
@property (nonatomic, assign) unsigned long long time;
图片类型
属性说明
图片类型
@property (nonatomic, assign) NSInteger type;
IvyDevTime 设备时间
年
属性说明
年
@property (nonatomic, assign) NSInteger year;
月
属性说明
月
@property (nonatomic, assign) NSInteger month;
日
属性说明
日
@property (nonatomic, assign) NSInteger day;
小时
属性说明
小时
@property (nonatomic, assign) NSInteger hour;
分钟
属性说明
分钟
@property (nonatomic, assign) NSInteger min;
秒
属性说明
秒
@property (nonatomic, assign) NSInteger sec;
ntp服务器
属性说明
ntp服务器
@property (nonatomic, strong) NSString *ntpServer;
日期格式
属性说明
日期格式
@property (nonatomic, assign) NSInteger dateFormat;
说明
0:YYYY-MM-DD 1:DD/MM/YYYY 2:MM/DD/YYYY
夏令时时长
属性说明
夏令时时长
@property (nonatomic, assign) NSInteger dst;
是否有夏令时
属性说明
是否有夏令时
@property (nonatomic, assign) NSInteger isDst;
说明
0:没有夏令时 1:有夏令时
时间格式
属性说明
时间格式
@property (nonatomic, assign) NSInteger timeFormat;
说明
0:24小时 1:12小时
时间来源
属性说明
时间来源
@property (nonatomic, assign) NSInteger timeSource;
说明
0:NTP 1:手动同步
时区
属性说明
时区
@property (nonatomic, assign) NSInteger timeZone;
IvyWiFiDetail Wi-Fi信息
SSID
属性说明
SSID
@property (nonatomic, strong) NSString *ssid;
Mac
属性说明
Mac
@property (nonatomic, strong) NSString *mac;
是否加密
属性说明
是否加密
@property (nonatomic, assign) BOOL encryption;
信号质量
属性说明
信号质量
@property (nonatomic, assign) NSInteger quality;
说明
(0-100) 值越大,信号质量越高
模式
属性说明
模式
@property (nonatomic, assign) NSInteger mode;
加密类型
属性说明
加密类型
@property (nonatomic, assign) NSInteger encryptType;
IvyWiFiConfig Wi-Fi搜索信息
SSID
属性说明
SSID
@property (nonatomic, strong) NSString *ssid;
Wi-Fi 加密类型
属性说明
Wi-Fi 加密类型
@property (nonatomic, assign) NSInteger encryptType;
IvyStreamParam 视频流
GOP
属性说明
GOP
@property (nonatomic, assign) int GOP;
bitRate
属性说明
bitRate
@property (nonatomic, assign) int bitRate;
frameRate
属性说明
frameRate
@property (nonatomic, assign) int frameRate;
isVBR
属性说明
isVBR
@property (nonatomic, assign) int isVBR;
resolution
属性说明
resolution
@property (nonatomic, assign) int resolution;
IvyPresetPoint 预置点
结果
属性说明
结果
@property (nonatomic, assign) NSInteger result;
说明
0: 成功 1:预置点不存在 2:参数错误 3: 添加出厂预置点 4: 已存在
预置点名称
属性说明
预置点名称
@property (nonatomic, strong) NSArray<NSString *> *pointNames;
IvyOSDSettings OSD
是否显示OSD
属性说明
是否显示OSD
@property (nonatomic, assign) BOOL isEnableOSDMask;
是否显示时间戳
属性说明
是否显示时间戳
@property (nonatomic, assign) BOOL isEnableTimeStamp;
是否显示设备名称
属性说明
是否显示设备名称
@property (nonatomic, assign) BOOL isEnableDevName;
是否显示温度、湿度
属性说明
是否显示温度、湿度
@property (nonatomic, assign) BOOL isEnableTempAndHumid;
dispPos
属性说明
dispPos
@property (nonatomic, assign) NSInteger dispPos;