//
|
// EZBAVParam.h
|
// EZBAVClient
|
//
|
// Created by kanhaiping on 2018/6/27.
|
// Copyright © 2018年 hikvision. All rights reserved.
|
//
|
|
#import <Foundation/Foundation.h>
|
|
|
/*
|
typedef struct SBavDevInfo
|
{
|
YS_INT8 m_szDevSerial[STREAM_DEV_SERIAL_LEN + 1]; //必填 设备序列号
|
YS_UINT32 m_sChannel; //必填 通道号
|
YS_INT16 m_sDevStreamType; //必填 设备主子码类型
|
YS_INT8 m_szAuthToken[STREAM_TOKEN_LEN + 1]; //必填 认证token
|
}SBavDevInfo;
|
*/
|
|
@interface EZBAVDevInfo : NSObject
|
@property (nonatomic, strong) NSString *serial; /**< 必填 设备序列号 */
|
@property (nonatomic, assign) int32_t m_iChannel;//必填 通道号
|
@property (nonatomic, assign) int32_t m_iDevStreamType;//必填 设备主子码类型
|
@property (nonatomic, strong) NSString *m_szAuthToken; /**< 必填 认证token */
|
@end
|
/*
|
typedef struct
|
{
|
YS_UINT32 m_iRoomId; //必填 需要加入房间号
|
YS_UINT32 m_uClientId; //必填 加入方clientId
|
YS_INT8 m_szCustomId[CUSTOMID_LEN + 1]; //选择 加入方自定义Id
|
YS_INT8 m_szPassword[STREAM_TOKEN_LEN + 1]; //必填 房间密码
|
YS_UINT8 m_iCltType; //必填 客户端类型
|
YS_UINT16 m_iStsPort; //必填 转发服务端口
|
YS_INT8 m_szStsAddr[CLIENT_STREAM_SVR_ADDR_LEN + 1]; //必填 转发服务地址
|
YS_UINT16 m_iVcPort; //必填 会控服务端口
|
YS_INT8 m_szVcAddr[CLIENT_STREAM_SVR_ADDR_LEN + 1]; //必填 会控服务地址
|
YS_INT8 m_szFilePath[FLIEPATH + 1]; //选择 写文件的路径
|
YS_INT8 m_szExtensionParas[CLIENT_STREAM_EXTENSION_LEN + 1]; //选择 扩展字段信息
|
}EZConferenceParam;
|
*/
|
@interface EZRTCJoinParam : NSObject
|
@property (nonatomic, assign) int32_t m_iRoomId; /**<必填 需要加入房间号 */
|
@property (nonatomic, assign) int32_t m_uClientId; /**< 必填 加入方clientId */
|
@property (nonatomic, strong) NSString *m_szCustomId; /**< 选择 加入方自定义Id */
|
@property (nonatomic, strong) NSString *m_szPassword; /**< 选择 房间密码 */
|
@property (nonatomic, assign) int32_t m_iCltType; /**< 必填 客户端类型 */
|
@property (nonatomic, strong) NSString *m_szVcAddr;//必填 视频会议必填 会控服务地址
|
@property (nonatomic, assign) int32_t m_iVcPort;//必填 视频会议必填 会控服务端k口
|
@property (nonatomic, strong) NSString *m_szStsAddr; /**< 必填 转发服务地址 */
|
@property (nonatomic, assign) int32_t m_iStsPort; /**< 必填 转发服务端口 */
|
@property (nonatomic, strong) NSString *m_szExtensionParas; /**< 选择 扩展字段信息 */
|
|
@end
|
|
|
@interface EZBAVParam : NSObject
|
|
@property (nonatomic, assign) int32_t m_iCltRole; /**< 必填 0 发起 1 接受 发起端填写0 接受端填写1 拒绝为2 */
|
@property (nonatomic, assign) int32_t m_iStreamType;/**< 必选 0 音视频 1 对讲 2 会议*/
|
//@property (nonatomic, assign) int32_t m_szIsNpq;/**< 选择 0 不走NPQ,走TCP 1 是NPQ,走UDP */
|
@property (nonatomic, assign) int32_t m_iCltType; /**< 必填 客户端类型 */
|
|
@property (nonatomic, strong) NSString *m_szVcAddr;//必填 视频会议必填 会控服务地址
|
@property (nonatomic, assign) int32_t m_iVcPort;//必填 视频会议必填 会控服务端k口
|
@property (nonatomic, strong) NSString *m_szStsAddr; /**< 必填 转发服务地址 */
|
@property (nonatomic, assign) int32_t m_iStsPort; /**< 必填 转发服务端口 */
|
|
@property (nonatomic, assign) int32_t m_iRoomId; /**< 选择 需要加入房间号,只有接受端需要填写 */
|
@property (nonatomic, assign) int32_t m_iClientId; //选填 发起or加入者的id
|
@property (nonatomic, strong) NSString *m_szSelfId; /**< 必填 标识Id */
|
@property (nonatomic, assign) int32_t m_iReason; /**< 选择 原因 拒接接听101 无人接听102 */
|
|
//@property (nonatomic, assign) int32_t m_iMaxBitrate;/**< 必填 码率变化范围的最大值 */
|
//
|
//@property (nonatomic, assign) int32_t m_iMinBitrate;/**< 必填 码率变化范围的最小值 */
|
|
//@property (nonatomic, assign) int32_t m_iType;/**< 选择 参考BAV_QOS_TYPE */
|
//
|
//@property (nonatomic, assign) int32_t m_iVideo;/**< 选择 是否开启视频Qos 1 开启 0 不开启 */
|
//
|
//@property (nonatomic, assign) int32_t m_iAudio;/**< 选择 是否开启音频Qos 1 开启 0 不开启 */
|
|
@property (nonatomic, assign) int32_t m_iAuthType; /**< 必填 认证方式 */
|
@property (nonatomic, strong) NSString *m_szAuthToken; /**< 必填 认证token */
|
|
|
|
@property (nonatomic, assign) int32_t m_iOtherCltType; /**< 选择 只有对端是手表端需填写 */
|
@property (nonatomic, strong) NSString *m_szOterId; /**< 选择 只有对端是手表端需填写 */
|
@property (nonatomic, assign) int32_t m_iChannel;//选填 三方音视频时,IPC设备需要填写
|
@property (nonatomic, assign) int32_t m_iDevStreamType;//选填 设备主子码流
|
|
@property (nonatomic, strong) NSString *m_szExtensionParas; /**< 选择 扩展字段信息 */
|
|
|
@end
|
|
|
|
/// 与会者信息
|
@interface EZRTCParticipantsInfo : NSObject
|
@property (nonatomic, assign) uint32_t m_uRoomId;
|
@property (nonatomic, assign) uint32_t m_uClientId;
|
@property (nonatomic, strong) NSString *m_sCustomId;
|
@property (nonatomic, strong) NSString *m_szUserName;
|
@property (nonatomic, assign) uint8_t m_iCltType; //用以区分是否是设备 111:设备
|
@property (nonatomic, assign) int8_t audioState;// 声音启用状态 0-关闭 1-启用
|
@property (nonatomic, assign) int8_t videoState;// 视频启用状态 0-关闭 1-主流 5-主子流
|
@property (nonatomic, assign) int8_t shareState;// 屏幕共享启用状态 0-关闭 1-启用
|
@property (nonatomic, assign) int8_t upNetState;//网络状态
|
@property (nonatomic, assign) int8_t downNetState;//网络状态
|
|
@end
|
|
|
@interface EZRTCParticipantVolume : NSObject
|
@property (nonatomic, assign) uint32_t m_uClientId;
|
@property (nonatomic, strong) NSString *m_sCustomId;
|
@property (nonatomic, assign) uint8_t m_sVolume; //音量强度0-10 10为最强 0为最弱
|
@end
|
|
|
@interface EZRTCStatistic : NSObject
|
@property (nonatomic, assign) int32_t type;//0:子表 1:主表
|
@property (nonatomic, strong) NSDictionary *statisticInfo;
|
@end
|
|
///本地的音视频统计
|
@interface EZRTCLocalStatistics : NSObject
|
///视频指标参数
|
@property (nonatomic, assign) uint32_t videoSentBitrate; //视频传输码率(上行)
|
@property (nonatomic, assign) uint32_t videoSentFrameRate; //帧率大小
|
@property (nonatomic, assign) uint16_t videoPacketLossRate; //视频丢包率
|
@property (nonatomic, assign) uint16_t videoStreamType; //流类型
|
///音频指标参数
|
@property (nonatomic, assign) uint32_t audioSentBitrate;//音频传输码率
|
@property (nonatomic, assign) uint16_t audioPacketLossRate;//音频丢包率
|
@end
|
|
///远端的音视频统计
|
@interface EZRTCRemoteStatistics : NSObject
|
///视频指标参数
|
@property (nonatomic, assign) uint32_t videoClientId; //远端视频clientId
|
@property (nonatomic, assign) uint32_t videoReceivedBitrate;//远端视频传输码率(下行)
|
@property (nonatomic, assign) uint32_t videoReceivedFrameRate;//远端帧率大小
|
@property (nonatomic, assign) uint16_t videoPacketLossRate;//远端视频丢包率(下行)
|
@property (nonatomic, assign) uint16_t videoTotalFrozenTime;//远端视频总的卡顿时长
|
@property (nonatomic, assign) uint16_t videoFrozenRate; //远端视频卡顿比
|
@property (nonatomic, assign) uint16_t streamType; //远端流类型
|
///音频指标参数
|
@property (nonatomic, assign) uint32_t audioClientId; //远端音频clientId
|
@property (nonatomic, assign) uint32_t audioReceivedBitrate;//远端音频传输码率(下行)
|
@property (nonatomic, assign) uint16_t audioPacketLossRate;//远端音频丢包率(下行)
|
@property (nonatomic, assign) uint16_t audioTotalFrozenTime;//远端音频总的卡顿时长
|
@property (nonatomic, assign) uint16_t audioFrozenRate; //远端音频卡顿比
|
|
@end
|
|
@interface EZRTCVideoSize : NSObject
|
|
@property (nonatomic, assign) int width;//宽
|
@property (nonatomic, assign) int height;//高
|
|
@end
|
|
extern int32_t const EZBAVMessageRoomCreated;
|
extern int32_t const EZBAVMessagePeerEnteredRoom;
|
extern int32_t const EZBAVMessagePeerLeaveRoom;
|
extern int32_t const EZBAVMessageStartInputData;
|
//extern int32_t const EZBAVMessageOtherDisconnect;
|
extern int32_t const EZBAVMessageTransferData;
|
//extern int32_t const EZBAVMessageClientInfo;//其他与会客户端信息
|
extern int32_t const EZBAVMessageClientVolume;//其他与会客户端音量
|
extern int32_t const EZBAVMessageClientAudioAvailable;
|
extern int32_t const EZBAVMessageClientVideoAvailable;
|
extern int32_t const EZBAVMessageNetworkQuality;
|
extern int32_t const EZBAVMessageClientShareAvailable;
|
extern int32_t const EZBAVMessageJoinRoomOK;
|
extern int32_t const EZBAVMessageForcedQuit;
|
extern int32_t const EZBAVMessageStatistic;
|
|
extern int32_t const EZBAVForcedQuitReasonRepeatJoin;//已在其他地方加入房间
|
extern int32_t const EZBAVForcedQuitReasonMovedOut;//被管理员移出房间
|
extern int32_t const EZBAVForcedQuitReasonRoomDissolved;//房间解散
|
|
extern int32_t const EZBAVMessageLocalVideoStats;//统计本地视频实时数据
|
extern int32_t const EZBAVMessageLocalAudioStats;//统计本地音频实时数据
|
extern int32_t const EZBAVMessageRemoteVideoStats;//统计远端视频实时数据
|
extern int32_t const EZBAVMessageRemoteAudioStats;//统计远端音频实时数据
|
|
|
|
typedef void(^EZAudioOpenResultBlock)(NSInteger ret);
|