萤石云 iOSSDK,移植跨平台相关工程
EZSDK/EZSDK/SDK/include/EZPlayer.h
@@ -12,6 +12,8 @@
@class EZCloudRecordFile;
@class EZPlayer;
@class EZPlayerExParamInfo;
@class EZDevicePtzAngleInfo;
@class EZPMPlayPrivateTokenInfo;
/**
 *  预览清晰度
@@ -95,6 +97,34 @@
 */
- (void)player:(EZPlayer *)player didReceivedDisplayHeight:(NSInteger)height displayWidth:(NSInteger)width;
/**
 * 设备云台角度数据回调
 *
 * @param player 播放器对象
 * @param info 私有数据
 */
- (void)player:(EZPlayer *)player didReceivedDevicePtzAngleInfo:(EZDevicePtzAngleInfo *)info;
/**
 * 播放过程中 回调解码数据
 * 重要:该回调会比较频繁(一秒若干次),同时直接由播放库线程回调上来,请勿在方法中做耗时操作
 * 重要:回调的数据的内存是由播放库内部分配并管理的,在使用时,请同步处理回调的data;如需异步处理,请拷贝该数据
 *
 * @param player 播放器对象
 * @param data 播放库解码出的数据
 * @param width 视频宽度
 * @param height 视频高度
 */
- (void)player:(EZPlayer *)player didDecodedData:(NSData *)data width:(NSInteger)width height:(NSInteger)height;
/**
 * 取流数据中获取开门token回调
 *
 * @param player 播放器对象
 * @param tokenInfo token对象
 */
- (void)player:(EZPlayer *)player playPrivateTokenInfo:(EZPMPlayPrivateTokenInfo *)tokenInfo;
@end
/// 此类为萤石播放器类
@@ -104,7 +134,7 @@
@property (nonatomic, weak) id<EZPlayerDelegate> delegate;
/// 是否让播放器处理进入后台,YES:自动处理;NO:不处理,默认为YES
@property (nonatomic) BOOL backgroundModeByPlayer;
@property (nonatomic, assign) BOOL backgroundModeByPlayer;
/**
 *  根据设备序列号和通道号创建EZPlayer对象
@@ -135,7 +165,19 @@
 @param streamType 码流类型 1:主码流 2:子码流
 @return EZPlayer对象
 */
+ (instancetype)createPlayerWithUserId:(NSInteger) userId cameraNo:(NSInteger) cameraNo streamType:(NSInteger) streamType;
+ (instancetype)createPlayerWithUserId:(NSInteger)userId cameraNo:(NSInteger)cameraNo streamType:(NSInteger)streamType;
/**
 *  @since 4.19.2
 *  一个页面存在多个视频使用最小的码流,没有子码流的话还是使用主码流
 *
 *  @param deviceSerial 设备序列号
 *  @param cameraNo     虚拟通道
 *  @param useSubStream   是否使用子码流
 *
 *  @return EZPlayer对象
 */
+ (instancetype)createPlayerWithDeviceSerial:(NSString *)deviceSerial cameraNo:(NSInteger)cameraNo useSubStream:(BOOL)useSubStream;
/**
 *  销毁EZPlayer
@@ -149,21 +191,21 @@
 *
 *  @param HDPriority 是否硬解优先
 */
-(void)setHDPriority:(BOOL)HDPriority;
- (void)setHDPriority:(BOOL)HDPriority;
/**
 获取当前的软硬解情况,在码流正常播放后调用
 
 @return 1:软解 2:硬解 0:出错
 */
- (int) getHDPriorityStatus;
- (int)getHDPriorityStatus;
/**
 *  设置设备归属业务来源,需要在预览回放前调用  国标设备使用
 *
 *  @param bizType 类型       国标为 bizType='GB28181'
 */
-(void)setBizType:(NSString *)bizType;
- (void)setBizType:(NSString *)bizType;
/**
 *  平台id 国标设备使用
@@ -178,6 +220,13 @@
 *  @param playerView 播放器view
 */
- (void)setPlayerView:(UIView *)playerView;
/**
 *  是否静音播放,startRealPlay之前调用
 *
 *  @param isSilencePlay 是否静音播放
 */
- (void)setSilencePlay:(BOOL)isSilencePlay;
/**
 *  开始播放,异步接口,返回值只是表示操作成功,不代表播放成功
@@ -219,7 +268,7 @@
 
 @return 播放库的port,可能为-1(无效值)
 */
- (int) getInnerPlayerPort;
- (int)getInnerPlayerPort;
/**
 获取当前已播放的总流量,单位字节
@@ -231,7 +280,7 @@
 
 @return 流量值
 */
- (NSInteger) getStreamFlow;
- (NSInteger)getStreamFlow;
/**
 *  开始TTS对讲,异步接口,返回值只是表示操作成功,不代表播放成功
@@ -239,6 +288,13 @@
 *  @return YES/NO
 */
- (BOOL)startVoiceTalk;
/**
 *  开始TTS对讲,异步接口,返回值只是表示操作成功,不代表播放成功
 *  针对于NVR对讲使用
 *  @return YES/NO
 */
- (BOOL)startVoiceTalkNeedVoiceChannel:(BOOL)needVoiceChannel;
/**
 *  开始Qos对讲,异步接口,返回值只是表示操作成功,不代表播放成功
@@ -340,14 +396,14 @@
 @return 小于0为无效值,大于等于0为有效值
 */
- (int) getPlayPort;
- (int)getPlayPort;
/**
 获取当前取流方式:
 @return
 @return 当前取流类型
 */
- (int) getStreamFetchType;
- (int)getStreamFetchType;
/**
sd卡及云存储倍速回放接口
@@ -364,18 +420,27 @@
@param mode 回放时的抽帧控制,当前仅云存储支持。0: 4倍速全帧,8倍速以上抽帧   1:抽帧   2:全帧  (如设备回放当前不支持,传入0即可)
@return YES/NO
 */
- (BOOL) setPlaybackRate:(EZPlaybackRate) rate mode:(NSUInteger)mode;
- (BOOL)setPlaybackRate:(EZPlaybackRate) rate mode:(NSUInteger)mode;
/**
 设置全双工对讲时的模式,对讲成功后调用
 
 @param routeToSpeaker YES:使用扬声器 NO:使用听筒
 */
- (void) changeTalkingRouteMode:(BOOL) routeToSpeaker;
- (void)changeTalkingRouteMode:(BOOL)routeToSpeaker;
/// //扩展参数 UIKit专用
/// @param exParamInfo EZPlayerExParamInfo
- (void) setExParamInfo:(EZPlayerExParamInfo *) exParamInfo;
- (void)setExParamInfo:(EZPlayerExParamInfo *)exParamInfo;
/**
 * 设置打开播放库的智能分析,当前温感相机的框框使用了该智能分析数据,预览成功后调用,在播放过程中随时开关
 *
 * @param enable YES:开  NO:关
 *
 * @return 返回状态
 */
- (BOOL)setIntelAnalysis:(BOOL)enable;
@end