// // LCOpenSDK_PlayWindow.h // LCOpenSDK // // Created by chenjian on 16/5/16. // Copyright (c) 2016年 lechange. All rights reserved. // #ifndef LCOpenSDK_LCOpenSDK_PlayWindow_h #define LCOpenSDK_LCOpenSDK_PlayWindow_h #import #import #import "LCOpenSDK_Param.h" #import "LCOpenSDK_EventListener.h" // PS/TS 标准流类型 typedef NS_ENUM(NSInteger, LC_OUTPUT_STREAM_FORMAT) { LC_OUTPUT_STREAM_FORMAT_NULL = 0, // 不导出流 LC_OUTPUT_STREAM_FORMAT_PS, // PS标准流 LC_OUTPUT_STREAM_FORMAT_TS // TS标准流 }; @interface LCOpenSDK_PlayWindow : NSObject /** * 初始化播放窗口 * * @param frame 窗口 * @param index 播放窗口索引 * * @return LCOpenSDK_PlayWindow指针 */ - (id)initPlayWindow:(CGRect)frame Index:(NSInteger)index; /** * 反初始化播放窗口 */ - (void)uninitPlayWindow; /** * 设置播放窗口 * * @param rect 播放窗口 */ - (void)setWindowFrame:(CGRect)rect; /** * 设置播放窗口背景色 * * @param normalColor 背景色 */ - (void)setSurfaceBGColor:(UIColor*)normalColor; /** * 获取播放窗口 * * @return 播放窗口指针 */ - (UIView*)getWindowView; /** * 设置播放窗口监听对象 * * @param lis 监听对象指针 */ - (void)setWindowListener:(id)lis; /** * 获取播放窗口监听对象指针 * * @return 监听对象指针 */ - (id)getWindowListener; /** * 设置播放窗口手势操作事件是否被上层窗口捕获 * * @param flag 布尔值 */ - (void)openTouchListener:(BOOL)flag; /** * 播放实时视频 * * @param accessTok 管理员token/用户token * @param deviceID 设备ID * @param psk 设备密钥 * @param chn 通道ID * @param defiMode 流媒体HD/SD模式 * @param opt 是否使用长链接优化 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)playRtspReal:(NSString*)accessTok devID:(NSString*)deviceID psk:(NSString*)psk channel:(NSInteger)chn definition:(NSInteger)defiMode optimize:(BOOL)isOpt DEPRECATED_MSG_ATTRIBUTE("use playRtspReal: instead"); /** * 播放实时视频 * * @param paramReal 实时视频参数模型 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)playRtspReal:(LCOpenSDK_ParamReal *)paramReal; /** * 停止实时视频播放 * * @param isKeepLastFrame 是否保留最后一帧画面 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)stopRtspReal:(BOOL)isKeepLastFrame; /** * 开始设备录像回放 * * @param accessTok 管理员token/用户token * @param deviceID 设备ID * @param psk 设备密钥 * @param chn 通道ID * @param fileName 设备本地录像文件名 * @param beginTime 本地录像开始播放时间 * @param endTime 本地录像结束播放时间 * @param defiMode 流媒体HD/SD模式 * @param opt 是否使用长链接优化 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger) playDeviceRecord:(NSString*)accessTok devID:(NSString*)deviceID psk:(NSString*)psk channel:(NSInteger)chn fileName:(NSString*)fileName begin:(long)beginTime end:(long)endTime offsetTime:(double)offsetTime optimize:(BOOL)isOpt DEPRECATED_MSG_ATTRIBUTE("use playDeviceRecordByFileName: instead"); - (NSInteger) playDeviceRecordByFileName:(NSString*)accessTok devID:(NSString*)deviceID psk:(NSString*)psk fileName:(NSString*)fileName offsetTime:(double)offsetTime optimize:(BOOL)isOpt DEPRECATED_MSG_ATTRIBUTE("use playDeviceRecordByFileName: instead"); - (NSInteger) playDeviceRecordByUtcTime:(NSString*)accessTok devID:(NSString*)deviceID psk:(NSString*)psk channel:(NSInteger)chn begin:(long)beginTime end:(long)endTime definition:(NSInteger)defiMode optimize:(BOOL)isOpt DEPRECATED_MSG_ATTRIBUTE("use playDeviceRecordByUtcTime: instead"); /** * 开始设备录像按文件名回放 * * @param paramDevRecord 设备录像参数模型 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger) playDeviceRecordByFileName:(LCOpenSDK_ParamDeviceRecordFileName *)paramDevRecord; /** * 开始设备录像按时间回放 * * @param paramDevRecord 设备录像参数模型 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger) playDeviceRecordByUtcTime:(LCOpenSDK_ParamDeviceRecordUTCTime *)paramDevRecord; /** * 停止设备录像回放 * * @param isKeepLastFrame 是否保留最后一帧画面 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)stopDeviceRecord:(BOOL)isKeepLastFrame; /** * 播放云录像(可设置接口调用超时时长) * * @param accessTok 管理员token/用户token * @param deviceID 设备ID * @param channelID 设备通道号 * @param psk 设备密钥 * @param recordRegionID 录像recordRegionID * @param type 云录像类型;1000:报警 2000:定时 * @param timeOut 超时时长 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)playCloud:(NSString*)accessTok devID:(NSString*)deviceID channelID:(NSInteger)channelID psk:(NSString*)psk recordRegionID:(NSString *)recordRegionID offsetTime:(NSInteger)offsetTime Type:(NSInteger)type timeOut:(NSInteger)timeOut DEPRECATED_MSG_ATTRIBUTE("use playCloudRecord: instead"); /** * 开始云录像按回放 * * @param paramCloud 云录像参数模型 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)playCloudRecord:(LCOpenSDK_ParamCloudRecord *)paramCloud; /** * 停止云录像播放 * * @param isKeepLastFrame 是否保留最后一帧画面 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)stopCloud:(BOOL)isKeepLastFrame; - (NSInteger)setPlaySpeed:(float)speed; - (NSInteger)playFile:(NSString*)fileName; - (NSInteger)stopFile:(BOOL)isKeepLastFrame; /** * 播放音频 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)playAudio; /** * 停止音频 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)stopAudio; /** * 录像拖动 * * @param timeInfo 相对开始时间偏移的秒数 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)seek:(NSInteger)timeInfo; /** * 暂停播放 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)pause; /** * 恢复播放 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)resume; /** * 截图 * * @param filePath 图片保存路径 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)snapShot:(NSString*)filePath; /** * 开始录制视频 * * @param filePath 录制视频保存路径 * @param nRecordType 录制视频格式: 0, dav * 1, mp4 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)startRecord:(NSString*)filePath recordType:(NSInteger)nRecordType; /** * 停止录制视频 * * @return 0, 接口调用成功 * -1, 接口调用失败 */ - (NSInteger)stopRecord; /** * 设置PS/TS标准流导出 * * @param streamFormat [in] 标准流类型 */ - (void)setStreamCallback:(LC_OUTPUT_STREAM_FORMAT)streamFormat; /** * EPTZ缩放操作 * * @param scale 缩放比例 */ - (void)doScale:(CGFloat)scale; /** * 获取EPTZ缩放比例 * * @return -1, 失败 * 其他, 成功 */ - (CGFloat)getScale; /** * EPTZ滑动操作 * * @param x 播放窗口X坐标值 * @param y 播放窗口Y坐标值 */ - (void)doTranslateX:(CGFloat)x Y:(CGFloat)y; //MARK: - 扩展功能 /** * 设置去噪模式等级 */ - (void)setSEnhanceMode:(LCOpenSDK_EnhanceMode)mode; @end #endif