// // LCOpenSDK_EventListener.h // // Created by baozhiyong on 16-10-20. // Copyright (c) 2016年 baozhiyong. All rights reserved. // #import #import typedef NS_ENUM(NSInteger, Direction) { Unkown, Left, // 左 Right, // 右 Up, // 上 Down, // 下 Left_up, // 左上 Right_up, // 右上 Left_down, // 左下 Right_down, // 右下 Unkown_Value, }; typedef NS_ENUM(NSInteger, ZoomType) { Zoom_in, Zoom_out }; @protocol LCOpenSDK_EventListener @optional #pragma mark - windowListener /*************************************************************************** ** windowListener ***************************************************************************/ /** * 单击回调 * * @param dx [out] 窗口X坐标 * @param dy [out] 窗口Y坐标 * @param index [out] 窗口索引值 */ - (void)onControlClick:(CGFloat)dx dy:(CGFloat)dy Index:(NSInteger)index; /** * 双击回调 * * @param dx [out] 窗口X坐标 * @param dy [out] 窗口Y坐标 * @param index [out] 窗口索引值 */ - (void)onWindowDBClick:(CGFloat)dx dy:(CGFloat)dy Index:(NSInteger)index; /** * 缩放开始回调 * * @param index [out] 窗口索引值 */ - (void)onZoomBegin:(NSInteger)index; /** * 缩放中回调 * * @param scale [out] 缩放比例 * @param index [out] 窗口索引值 */ - (void)onZooming:(CGFloat)scale Index:(NSInteger)index; /** * 缩放结束回调 * * @param zoom [out] 缩放比例 * @param index [out] 窗口索引值 */ - (void)onZoomEnd:(ZoomType)zoom Index:(NSInteger)index; /** * 长按开始回调 * * @param dir [out] 长按相对窗口中的方向 * @param dx [out] 窗口X坐标值 * @param dy [out] 窗口Y坐标值 * @param index [out] 窗口索引值 */ - (void)onWindowLongPressBegin:(Direction)dir dx:(CGFloat)dx dy:(CGFloat)dy Index:(NSInteger)index; /** * 长按结束回调 * * @param index [out] 窗口索引值 */ - (void)onWindowLongPressEnd:(NSInteger)index; /** * 滑动开始回调 * * @param dir [out] 滑动方向 * @param dx [out] 滑动开始,窗口X坐标值 * @param dy [out] 滑动开始,窗口Y坐标值 * @param index [out] 窗口索引值 */ - (void)onSlipBegin:(Direction)dir dx:(CGFloat)dx dy:(CGFloat)dy Index:(NSInteger)index; /** * 滑动中回调 * * @param dir [out] 滑动方向 * @param preX [out] 滑动中前一个触摸点,窗口X坐标值 * @param preY [out] 滑动中前一个触摸点,窗口Y坐标值 * @param dx [out] 滑动中后一个触摸点,窗口X坐标值 * @param dy [out] 滑动中后一个触摸点,窗口Y坐标值 * @param index [out] 窗口索引值 */ - (void)onSlipping:(Direction)dir preX:(CGFloat)preX preY:(CGFloat)preY dx:(CGFloat)dx dy:(CGFloat)dy Index:(NSInteger)index; /** * 滑动结束回调 * * @param dir [out] 滑动方向 * @param dx [out] 滑动结束,窗口X坐标值 * @param dy [out] 滑动结束,窗口Y坐标值 * @param index [out] 窗口索引值 */ - (void)onSlipEnd:(Direction)dir dx:(CGFloat)dx dy:(CGFloat)dy Index:(NSInteger)index; #pragma mark - playListener /********************************************************************************** ** playListener **********************************************************************************/ /** * 视频播放状态回调 * * @param code 错误码(根据type而定) * @param type 0, RTSP * 1, HLS * 99, OPENAPI * @param index 播放窗口索引值 */ - (void)onPlayerResult:(NSString*)code Type:(NSInteger)type Index:(NSInteger)index; /** * (接口未使用) */ - (void)onResolutionChanged:(NSInteger)width Height:(NSInteger)height Index:(NSInteger)index; /** * 视频播放数据回调 * * @param len 数据长度 * @param index 播放窗口索引值 */ - (void)onReceiveData:(NSInteger)len Index:(NSInteger)index; /** * TS/PS标准流导出数据回调 * * @param data [out] 标准流导出数据 */ - (void)onStreamCallback:(NSData*)data Index:(NSInteger)index; /** * 视频播放开始回调 * * @param index 播放窗口索引值 */ - (void)onPlayBegan:(NSInteger)index; /** * 视频播放结束回调 * * @param index 播放窗口索引值 */ - (void)onPlayFinished:(NSInteger)index; /** * (录像)视频播放时间回调 * * @param time 当前录像时间 * @param index 播放窗口索引值 */ - (void)onPlayerTime:(long)time Index:(NSInteger)index; /** * @brief 获取文件的起始结束时间 */ - (void)onFileTime:(long)beginTime EndTime:(long)endTime Index:(NSInteger)index; /* * IVS解码回调函数。 * * @param[in] pIVSBuf 辅助帧数据(json或智能帧结构体数据),当为智能帧结构体数据时,pIVSBuf为IVS Object结构体数组的起始地址 * @param[in] nIVSType 辅助帧数据类型 * 取值为IVSINFOTYPE_RAWDATA时,对应原始json数据 * 取值为IVSINFOTYPE_TRACK时,单个IVS object对应结构体 SP_IVS_OBJ_EX; * 取值为IVSINFOTYPE_TRACK_EX_B0时,单个IVS object对应结构体 SP_IVS_COMMON_OBJ; * @param[in] nIVSBufLen 辅助帧数据长度(json或智能帧结构体数据), * 当为智能帧结构体数据时,nIVSBufLen为IVS Object的个数乘以单个IVS object的长度,单个IVS object的长度可由type备注类型获得 * @param[in] nFrameSeq 辅助帧id */ - (void)onIVSInfo:(NSString*)pIVSBuf nIVSType:(long)nIVSType nIVSBufLen:(long)nIVSBufLen nFrameSeq:(long)nFrameSeq; @end