AVDEngine Class Reference

Inherits from NSObject
Declared in AVDEngine.h
AVDEngine.mm

Overview

AVD引擎接口类

AVD引擎接口定义了引擎全局初始化操作和房间安排、查询、删除等操作。

+ instance

获取AVD引擎对象

+ (AVDEngine *)instance

Return Value

返回AVD引擎指针。

Discussion

获取AVD引擎对象

Note: AVD引擎是一个单例对象,一个进程空间只存在一个引擎。

Declared In

AVDEngine.h

+ destory

释放AVD引擎对象

+ (AVDResult)destory

Discussion

释放AVD引擎对象

Declared In

AVDEngine.h

– initWithServerUrl:accessKey:secretKey:delegate:

初始化引擎

- (AVDResult)initWithServerUrl:(NSString *)severuri accessKey:(NSString *)appkey secretKey:(NSString *)secretkey delegate:(id<AVDEngineDelegate>)delegate

Return Value

返回错误代码。

Discussion

初始化引擎

@param[in] severuri 服务器uri, 取值格式为([]中内容可选):https://xxx.com[:443],http://xxx.cn[:80],xxx.cn:8080。 @param[in] appkey 公司分发给应用公司的应用秘钥。 @param[in] *secretkey 公司分发给应用公司的安全秘钥。 @param[in] delegate 引擎回调指针。

Note: AVD引擎在做任何功能操作前,必须先要初始化引擎成功。引擎初始化是一个异步操作,调用此接口后等待回调中函数onInitResult回调,判断是否初始化成功。

Declared In

AVDEngine.h

– initWithServerUrl:token:delegate:

初始化引擎

- (AVDResult)initWithServerUrl:(NSString *)severuri token:(NSString *)token delegate:(id<AVDEngineDelegate>)delegate

Return Value

返回错误代码。

Discussion

初始化引擎

@param[in] severuri 服务器uri, 取值格式为([]中内容可选):https://xxx.com[:443],http://xxx.cn[:80],xxx.cn:8080。 @param[in] token 根据公司提供的算法计算出来的token。 @param[in] delegate 引擎回调指针。

Declared In

AVDEngine.h

– initWithServerUrl:OEM:delegate:

初始化引擎

- (AVDResult)initWithServerUrl:(NSString *)severuri OEM:(NSString *)oemName delegate:(id<AVDEngineDelegate>)delegate

Return Value

返回错误代码。

Discussion

初始化引擎

@param[in] severuri 服务器uri, 取值格式为([]中内容可选):https://xxx.com[:443],http://xxx.cn[:80],xxx.cn:8080。 @param[in] oemName 公司Open-AVD产品OEM的厂家名称。 @param[in] delegate 引擎回调指针。

Note: AVD引擎在做任何功能操作前,必须先要初始化引擎成功。引擎初始化是一个异步操作,调用此接口后等待回调中函数onInitResult回调,判断是否初始化成功。

Declared In

AVDEngine.h

– uninit

反初始化引擎

- (AVDResult)uninit

Return Value

返回错误代码。

Discussion

反初始化引擎

Note: AVD反初始化后,引擎中涉及的所有房间对象都无效,引擎上的功能函数都无法正常使用。

Declared In

AVDEngine.h

– isWorking

判断引擎是否正常工作

- (BOOL)isWorking

Return Value

返回引擎是否正常工作。

Discussion

判断引擎是否正常工作

Declared In

AVDEngine.h

– getRoomByRoomId:

根据房间Id获取房间信息

- (AVDResult)getRoomByRoomId:(AVDRoomId)roomId

Return Value

返回错误代码。

Discussion

根据房间Id获取房间信息

@param[in] roomId 房间Id。

Note: 获取房间信息为异步操作,调用此接口后等待回调中函数onGetRoomResult回调,判断是否获取成功。

Declared In

AVDEngine.h

– getRoomByAppRoomId:

根据应用层房间Id获取房间信息

- (AVDResult)getRoomByAppRoomId:(NSString *)appRoomId

Return Value

返回错误代码。

Discussion

根据应用层房间Id获取房间信息

@param[in] appRoomId 应用层房间Id。

Note: 获取房间信息为异步操作,调用此接口后等待回调中函数onGetRoomResult回调,判断是否获取成功。

Declared In

AVDEngine.h

– findRooms:

查找房间信息

- (AVDResult)findRooms:(NSString *)filter

Return Value

返回错误代码。

Discussion

查找房间信息

@param[in] *filter 查找条件:json字符串,用房间信息结构中的字段“fieldname=value,…”来表示。

Note: 查找房间信息为异步操作,调用此接口后等待回调中函数onFindRoomsResult回调,判断是否查找成功。

Declared In

AVDEngine.h

– scheduleRoom:

安排房间

- (AVDResult)scheduleRoom:(AVDRoomInfo *)roomInfo

Return Value

返回错误代码。

Discussion

安排房间

@param[in] *roomInfo 房间信息。

Note: 安排房间为异步操作,调用此接口后等待回调中函数onScheduleRoomResult回调,判断是否安排成功。

Declared In

AVDEngine.h

– cancelRoom:

取消删除房间

- (AVDResult)cancelRoom:(AVDRoomId)roomId

Return Value

返回错误代码。

Discussion

取消删除房间

@param[in] roomId 房间Id。

Note: 取消房间为异步操作,调用此接口后等待回调中函数onCancelRoomResult回调,判断是否取消成功。

Declared In

AVDEngine.h

– getUsersCount:

根据房间号获取房间人数

- (AVDResult)getUsersCount:(AVDRoomId)roomId

Return Value

返回错误代码。

Discussion

根据房间号获取房间人数

@param[out] callId 调用Id,用于区别多次调用,在回调中会带上此调用Id,便于应用层区别每次调用。 @param[in] roomId 房间Id。

Note: 获取房间人数为异步操作,调用此接口后等待回调中函数onGetUsersCountResult回调,判断是否取消成功。

Declared In

AVDEngine.h

– setLogParams:file:

设置引擎日志配置

- (AVDResult)setLogParams:(NSString *)params file:(NSString *)filename

Return Value

返回错误代码。

Discussion

设置引擎日志配置

@param[in] params 日志参数:日志等级[sensitive verbose info warning error none ],以上只可取一个值;[debug]是否在调试输出;两个值时中间空格分隔。 @param[in] filename 日志文件名,若无日志文件名,则不写文件。

Declared In

AVDEngine.h

+ getVersion

获取引擎版本号

+ (NSString *)getVersion

Return Value

返回引擎版本号。

Discussion

获取引擎版本号

Declared In

AVDEngine.h

+ getErrorMessage:

根据错误代码获取关联的错误信息描述 @param[in] code 错误代码。

+ (NSString *)getErrorMessage:(AVDResult)code

Return Value

返回错误信息描述。

Discussion

根据错误代码获取关联的错误信息描述 @param[in] code 错误代码。

Declared In

AVDEngine.h

– setOption:value:

设置引擎选项

- (AVDResult)setOption:(enum AVDEngineOption)type value:(NSString *)value

Return Value

返回错误代码。

Discussion

设置引擎选项

@param[in] type 引擎选项类型。 @param[in] *value 引擎选项值指针。

Declared In

AVDEngine.h

– getOption:

获取引擎选项

- (NSString *)getOption:(enum AVDEngineOption)type

Return Value

返回引擎选项返回值指针。

Discussion

获取引擎选项

@param[in] type 引擎选项类型。

Declared In

AVDEngine.h

– setUserInfo:

设置全局用户信息

- (AVDResult)setUserInfo:(AVDUser *)info

Return Value

返回错误代码。

Discussion

设置全局用户信息

@param[in] info 用户信息。

Note: 全局用户信息设置后,所有房间或直播房间加入都使用此用户信息

Declared In

AVDEngine.h

– getUserInfo

获取全局用户信息

- (AVDUser *)getUserInfo

Return Value

返回用户信息。

Discussion

获取全局用户信息

Declared In

AVDEngine.h

– callOutgoingDeviceWithRoomId:name:userId:outgoingDevice:

呼叫sip设备

- (AVDResult)callOutgoingDeviceWithRoomId:(NSString *)roomId name:(NSString *)deviceName userId:(NSString *)userId outgoingDevice:(NSString *)deviceUrl

Parameters

roomId

房间id

deviceName

外包设备别名

userId

sip的userId

deviceUrl

外包设备地址 sip:1019@192.168.3.60:6060

Return Value

错误代码

Discussion

呼叫sip设备

Declared In

AVDEngine.h

– startMixRecord:roomId:

启动混屏录制

- (AVDResult)startMixRecord:(NSInteger)callId roomId:(AVDRoomId)roomId

Parameters

callId

调用Id,用于区别多次调用,在回调中会带上此调用Id,便于应用层区别每次调用;若调用时为0,内部产生一个序号。

roomId

房间Id。

Return Value

返回错误代码。

Discussion

启动混屏录制

Declared In

AVDEngine.h

– stopMixRecord:roomId:

停止混屏录制

- (AVDResult)stopMixRecord:(NSInteger)callId roomId:(AVDRoomId)roomId

Parameters

callId

调用Id,用于区别多次调用,在回调中会带上此调用Id,便于应用层区别每次调用;若调用时为0,内部产生一个序号。

roomId

房间Id。

Return Value

返回错误代码。

Discussion

停止混屏录制

Declared In

AVDEngine.h

– setDataCryptoType:

设置数据加密类型 * @param[in]数据加密方式,值类型AVDDataCryptoType,范围1(AES128),2(AES256),3(SM4),默认1 * 前提条件要开启dtls加密,参考ro_media_use_dtls,默认dtls加密的。

- (void)setDataCryptoType:(enum AVDDataCryptoType)cryptoType

Discussion

设置数据加密类型 * @param[in]数据加密方式,值类型AVDDataCryptoType,范围1(AES128),2(AES256),3(SM4),默认1 * 前提条件要开启dtls加密,参考ro_media_use_dtls,默认dtls加密的。

Declared In

AVDEngine.h

– startLogTrace:logDelegate:

启动日志回调

- (void)startLogTrace:(NSString *)parm logDelegate:(id<AVDLogDelegate>)logDelegate

Parameters

logDelegate

delegate

param

日志等级[sensitive verbose info warning error none ] 以上只可取一个值; 统计输出[stats] 是否输出网络流量等统计信息; 日志格式[realtstamp] 长日志格式,格式为:MM-DD hh:mm:ss.xxx;缺省是紧缩格式显示为[秒.微秒]表示程序开始后的时间间隔。

Discussion

启动日志回调

Declared In

AVDEngine.h

– stopLogTrace

停止日志回调

- (void)stopLogTrace

Discussion

停止日志回调

Declared In

AVDEngine.h

– setDefaultMediaPublishKeepAliveTime:

设置媒体流(默认音频视频屏幕流)推送的保活时长(单位为毫秒),不设置默认为15000毫秒

- (void)setDefaultMediaPublishKeepAliveTime:(NSInteger)keepAliveTime

Parameters

keepAliveTime

保活时长(单位为毫秒

Discussion

设置媒体流(默认音频视频屏幕流)推送的保活时长(单位为毫秒),不设置默认为15000毫秒

Declared In

AVDEngine.h

– setProxy:ip:port:userName:pwd:

设置代理信息 @param[in] type 代理的类型. 目前支持Https代理(音视频数据以TCP发送),Socks5代理(音视频数据以UDP发送) @param[in] ip 代理的IP地址 @param[in] port 代理的端口 @param[in] username 代理的认证账户(如果如认证,可传递空字符串) @param[in] password 代理的认证密码(如果如认证,可传递空字符串)

- (void)setProxy:(enum AVDProxyType)type ip:(NSString *)ip port:(NSInteger)port userName:(NSString *)userName pwd:(NSString *)pwd

Discussion

设置代理信息 @param[in] type 代理的类型. 目前支持Https代理(音视频数据以TCP发送),Socks5代理(音视频数据以UDP发送) @param[in] ip 代理的IP地址 @param[in] port 代理的端口 @param[in] username 代理的认证账户(如果如认证,可传递空字符串) @param[in] password 代理的认证密码(如果如认证,可传递空字符串)

Declared In

AVDEngine.h