Files
ifish/Ifish/GWP2PSDK/GWP2P.framework/Headers/GWP2PPlayerDefine.h
T
2019-09-21 17:29:16 +08:00

189 lines
6.1 KiB
C
Executable File

//
// GWP2PPlayerDefine.h
// GWP2P
//
// Created by WangShunXing on 2019/3/5.
// Copyright © 2019 apple. All rights reserved.
//
#ifndef GWP2PPlayerDefine_h
#define GWP2PPlayerDefine_h
/**
* 呼叫设备回调的参数字典的key常量声明
*/
extern NSString * const kP2PCallingIsSameDomainKey; //与对方是否在同个局域网
extern NSString * const kP2PCallAcceptIsVideo960PKey; //对方视频是否960P
extern NSString * const kP2PCallAcceptIsVideoWidescreenKey; //对方视频是否宽屏(16:9)
extern NSString * const kP2PCallAcceptVideoScaleKey; //视频画面边缘切边比例,NSNumber(float),范围0~1
extern NSString * const kP2PCallAcceptVideoCenterKey; //视频画面中心点, NSValue(CGPoint),范围(0,0)~(1,1)
typedef NS_ENUM(NSUInteger, GWP2PCallWay) {//呼叫方式
GWP2PCallWayInitiative = 0, //主动呼叫设备
GWP2PCallWayPassive, //被动呼叫,指NPC设备呼叫APP(通过用户ID)
};
typedef NS_ENUM(NSUInteger, GWP2PCallType) {//呼叫类型(主动呼叫设备时)
GWP2PCallTypeMonitor = 0, //监控
GWP2PCallTypeVideo, //视频通话(NPC设备)
GWP2PCallTypePlayback, //回放
};
typedef NS_ENUM(NSUInteger, GWP2PCallStatus) { //呼叫状态
GWP2PCallStatusNone = 0, //默认
GWP2PCallStatusCalling, //呼叫中
GWP2PCallStatusRejected, //呼叫被对方拒绝
GWP2PCallStatusAccepted, //呼叫被对方接受
GWP2PCallStatusReady, //连接准备就绪
};
typedef NS_ENUM(NSUInteger, GWP2PPlaybackState) { //回放状态
GWP2PPlaybackStateNone, //默认
GWP2PPlaybackStatePause, //暂停
GWP2PPlaybackStatePlaying, //正常播放中
GWP2PPlaybackStateFastForward, //快进中
GWP2PPlaybackStateStop //停止
};
typedef NS_ENUM(NSUInteger, GWPlaybackSpeed) { //回放倍速
GWPlaybackSpeedNormal,
GWPlaybackSpeedFastForward
};
/**
呼叫失败的错误枚举
*/
typedef NS_ENUM(NSUInteger, GWP2PCallError) {
GWP2PCallErrorNone = 0, //0无原因
GWP2PCallErrorDesidNotEnable, //1对方的ID 被禁用
GWP2PCallErrorDesidOverDate, //2对方的ID 过期了
GWP2PCallErrorDesidNotAcitve, //3对方的ID 尚未激活
GWP2PCallErrorDesidOffline, //4对方离线
GWP2PCallErrorDesidBusy, //5对方忙线中
GWP2PCallErrorDesidPowerDown, //6对方已关机
GWP2PCallErrorNoHelper, //7没有找到协助人
GWP2PCallErrorHangUp, //8对方已经挂断
GWP2PCallErrorTimeout, //9连接超时
GWP2PCallErrorInterError, //10内部错误
GWP2PCallErrorRingTimeout, //11无人接听
GWP2PCallErrorPwdWrong, //12密码错误(在远程监控时用到密码,在视频通话是不需要)
GWP2PCallErrorConnFail,
GWP2PCallErrorNotSupport,
GWP2PCallErrorNotPermissions, //15无监控权限
};
/**
CallErrorCode 呼叫失败(连接超时)还会返回具体错误的16进制errorCode
由服务器定义,更多可在http://gwellserver2:8008/进行查询
*/
//0x2010200A UDP转发服务器握手失败
//0x20102009 连接tcp转发服务器成功,等待配对失败
//0x20102008 连接tcp转发服务器失败
//0x20102007 申请多路径传输,握手超时
//0x20102006 申请多路径传输超时
//0x20102005 局域网点对点连接失败
//0x20102004 发出呼叫,等待目标ID的地址信息超时
//0x20102003 传输数据中出现传输超时
//0x20102002 连接状态准备好,尝试传输数据超时
/**
全景模式
- PM_NONE: 黑屏,切换此模式无效
- PM_HALF_SPHERE: 半球
- PM_CYLINDER: 圆柱
- PM_SCROLL: 画卷
- PM_FOUR_SCREEN: 四画面
- PM_MIX: 混合
- PM_WIDE_ANGLE: 广角
- PM_QUAD: 四边形,适用于普通监控
*/
typedef NS_ENUM(NSUInteger, PanoMode) {
PM_NONE,
PM_HALF_SPHERE,
PM_CYLINDER,
PM_SCROLL,
PM_FOUR_SCREEN,
PM_MIX,
PM_WIDE_ANGLE,
PM_QUAD
};
/**
录制过程中的事件
*/
typedef NS_ENUM(NSUInteger, MP4RecordEvent) {
MP4RecordEventStart, /**< 等到视频流关键帧,开始录像 */
MP4RecordEventStop, /**< 停止录像 */
MP4RecordEventRatioChanged, /**< 切换了视频分辨率,停止录像 */
};
/**
定义录制过程中的事件回调代码块
*/
typedef void(^MP4RecordEventHandler)(MP4RecordEvent stopEvent);
/**
控制镜头转向
*/
typedef NS_ENUM(NSUInteger, GWP2PPTZDirection) {
GWP2PPTZDirectionLeft = 0, //左
GWP2PPTZDirectionRight, //右
GWP2PPTZDirectionUp, //上
GWP2PPTZDirectionDown, //下
};
/**
视频清晰度
*/
typedef NS_ENUM(NSInteger, GWP2PPTZDefinition) {
GWP2PPTZDefinitionLD = 0, //流畅,NPC:320*240 IPC:320*180
GWP2PPTZDefinitionSD, //标清,NPC:640*480 IPC:640*360
GWP2PPTZDefinitionHD, //高清,NPC:None IPC:1280*720
};
/**
播放控制回调
*/
typedef NS_ENUM(NSUInteger, GWP2PPlaybackControl) {
GWP2PPlaybackControlPlay, //播放
GWP2PPlaybackControlPause, //暂停
GWP2PPlaybackControlStop, //停止
GWP2PPlaybackControlFileEnd, //文件读取完毕,但不等于播放完毕
GWP2PPlaybackControlFastForward, //快进
GWP2PPlaybackControlFastForwardCancel, //取消快进
GWP2PPlaybackControlNextFile, //切换文件播放
GWP2PPlaybackControlSeekTime, //指定时间播放
};
/**
汇讯视通控制镜头
*/
typedef NS_ENUM(NSUInteger, GWP2PHXVisonDirection) {
GWP2PHXVisonDirectionLeft = 0, //左,保持移动
GWP2PHXVisonDirectionRight, //右,保持移动
GWP2PHXVisonDirectionUp, //上,保持移动
GWP2PHXVisonDirectionDown, //下,保持移动
GWP2PHXVisonDirectionZoomOut, //缩小
GWP2PHXVisonDirectionZoomIn, //放大
GWP2PHXVisonDirectionStop, //停止,停止移动
};
/**
汇讯视通3D手势
*/
typedef NS_ENUM(NSUInteger, GWP2PHXVison3DGestureZoomType)
{
GWP2PHXVison3DGestureZoomTele = 0, //3D放大
GWP2PHXVison3DGestureZoomWide, //3D缩小
GWP2PHXVison3DGestureZoomLocate, //3D定位移动
};
#endif /* GWP2PPlayerDefine_h */