// // EZVideoTalkSDK.h // EZOpenSDK // // Created by yuqian on 2020/3/14. // Copyright © 2020 Hikvision. All rights reserved. // #import #import "EZVideoTalkParam.h" NS_ASSUME_NONNULL_BEGIN typedef enum : NSUInteger { EZVideoTalkMessageUnkown, EZVideoTalkMessageRoomCreated, //创建房间成功 EZVideoTalkMessagePeerEnteredRoom, //目前未使用,用于多方 EZVideoTalkMessagePeerLeaveRoom, //目前未使用,用于多方 EZVideoTalkMessageStartInputData //链接建立成功,开始推流 } EZVideoTalkMessageType; typedef NS_OPTIONS(NSUInteger, EZVideoTalkCaptureType) { EZVideoTalkCaptureNone = 1 << 0, EZVideoTalkCaptureVideo = 1 << 1, EZVideoTalkCaptureAudio = 1 << 2, }; @class EZVideoTalkSDK; @protocol EZVideoTalkSDKDelegate - (void)videoTalk:(EZVideoTalkSDK *)client didReceivedError:(int32_t)errorCode; /** 回调消息 @param client client @param messageCode 消息码 @param msg 透传消息 */ - (void)videoTalk:(EZVideoTalkSDK *)client didReceivedMessage:(EZVideoTalkMessageType)messageType msg:(NSString*)msg; /** 回调消息 bavclient log回调 @param client client @param msg 透传消息 */ - (void)videoTalk:(EZVideoTalkSDK *)client didReceivedBavClientLogMsg:(NSString*)msg; /** 显示回调,首次画面出来以及后续画面尺寸发生变化时回调 @param client client @param width 画面宽度 @param height 画面高度 */ - (void)videoTalk:(EZVideoTalkSDK *)clientt didDisplayWidth:(int32_t)width height:(int32_t)height; /** 播放卡顿 @param client client @param delayTime 卡顿时间 */ - (void)videoTalk:(EZVideoTalkSDK *)client playDelayTime:(int32_t)delayTime; /** 播放卡顿统计 @param client client @param delayTimeStat 卡顿时间 */ - (void)videoTalk:(EZVideoTalkSDK *)client playDelayTimeStatistics:(double)delayTimeStat; @end @interface EZVideoTalkSDK : NSObject @property (nonatomic, assign, readonly) int32_t roomID; @property (nonatomic, weak) id delegate; #pragma mark - SDK /** SDK初始化 @param param 必填 配置参数 @param localWin 本地窗口 @param remoteWin 远端窗口 @return 返回值 */ - (instancetype)initWithParam:(EZVideoTalkParam *)param localWindow:(UIView *)localWin remoteWindow:(UIView *)remoteWin; /** 开始双向音视频对讲,耗时接口,默认 EZVideoTalkCaptureVideo | EZVideoTalkCaptureAudio 同时开启 */ - (void)start; /** 开始双向音视频对讲,耗时接口 */ - (void)startWithType:(EZVideoTalkCaptureType)type; /** 停止双向音视频对讲 */ - (void)stop; /// 开启声音,接收到EZVideoTalkMessageStartInputData消息后调用 /// @param open 开关状态 - (int32_t) openSound:(BOOL)open; #pragma mark - 日志调试 /** 日志设置 @param enable 是否打印日志 @param logCallback 日志回调,上层自定义处理 */ + (void)setDebugLogEnable:(BOOL)enable withLogCallback:(void(^)(NSString *logStr))logCallback; /** 打开对端码流抓取 @param enble 是否打开 */ +(void)setDebugVideoLog:(BOOL)enble; /** 获取sdk版本信息 @return 版本号 */ + (NSString*)getVersion; @end NS_ASSUME_NONNULL_END