AVDEasyRoom

Superclass:
NSObject
Declared In:

Introduction

简易房间接口类

简易房间接口定义了独立的简易房间对象创建和释放、房间功能操作。



Methods

-attachRender:render:
-destory
-detachRender:
-enableStats:
-getOption:
-getRoomStats
-getVideoMixer
-ismuteMicrophone
-joinWithUser:delegate:
-kickoutUser:userId:
-leave:
-muteMicrophone
+obtain:
+obtain:
-previewCamera:
-publishCamera
-publishMicrophone
-sendPrivateData:toUserId:
-sendPublicData:
-setAudioMixerDataListener:sampleRate:
-setAudioSource:
-setOption:value:
-setVideoMixerDataListener:
-setVideoSource:
-switchCamera
-unmuteMicrophone
-unpreviewCamera
-unpublishCamera
-unpublishMicrophone

attachRender:render:


- (AVDResult) attachRender:(AVDUserId)userId render:(id<AVDVideoRenderer>)render; 
Return Value

返回错误代码。 @sa IVideoRender

Discussion

关联视频数据和显示对象,在render中显示视频

@param[in] userId 摄像头Id,唯一标示一路共享的摄像头视频。 @param[in] *render 显示对象接口指针。

视频数据可以在多个显示对象上显示,而一个显示对象某一时刻只能显示一路视频。:

在本地视频发布到房间中,或者远端视频订阅成功后,调用此接口完成视频与显示对象的对接,从而在显示对象中显示视频。


destory


- (void) destory; 
Discussion

释放房间接口

释放房间后,App层不能再使用当前房间指针,所有引用房间指针处均需设置为NULL。:


detachRender:


- (AVDResult) detachRender:(AVDUserId)userId; 
Return Value

返回错误代码。

Discussion

解除摄像头视频数据的所有显示对象关联

@param[in] userId 摄像头Id,唯一标示一路共享的摄像头视频。


enableStats:


- (AVDResult) enableStats:(BOOL)isEnable; 
Return Value

返回错误代码: AVD_OK 成功

Discussion

当前房间启用或关闭流量统计功能 @param[in] isEnable 启用或关闭。


getOption:


- (NSString*) getOption:(enum AVDRoomOption)type; 
Return Value

返回选项内容,根据选项说明解析。

Discussion

获取房间选项

@param[in] type 房间选项类型。


getRoomStats


- (AVDRoomStats*) getRoomStats; 
Return Value

返回房间流量统计信息。 @sa RoomStats

Discussion

获取房间的流量统计信息


getVideoMixer


- (AVDVideoMixer*) getVideoMixer; 
Return Value

混频布局接口

Discussion

获取视频混频布局接口


ismuteMicrophone


- (BOOL) ismuteMicrophone; 
Return Value

返回静默状态。

Discussion

判断本地麦克风是否静默


joinWithUser:delegate:


- (AVDResult) joinWithUser:(AVDUser*)user delegate:(id<AVDRoomJoinDelegate>)joinresult; 
Return Value

返回错误代码。 @sa User

Discussion

当前用户加入房间

@param[in] *user 用户信息:用户Id(不能包含'{'、'}'字符),用户名,用户数据等;当应用层必须传入有效的user.UserId,来唯一标识一个用户。 @param[in] joinresult 加房间回调接口。


kickoutUser:userId:


- (AVDResult) kickoutUser:(AVDResult)reason userId:(AVDUserId)userId; 
Return Value

返回错误代码。 @sa onLeaveIndication

Discussion

房间中踢出用户

@param[in] reason 踢出用户的理由代码。 @param[in] userId 被踢出用户Id。

被踢用户将会在onLeaveIndication中接收到回调,被踢用户直接调用 leave 离开房间即可。:


leave:


- (AVDResult) leave:(AVDResult)reason; 
Return Value

返回错误代码。

Discussion

当前用户离开房间

@param[in] reason 用户离开房间的原因代码,正常离开为AVD_OK。

当前用户离开房间后,当前房间对象和房间的各功能模块都处于离会状态,功能操作无效。:


muteMicrophone


- (AVDResult) muteMicrophone; 
Return Value

返回错误代码。

Discussion

本地麦克风静默


obtain:


+ (AVDEasyRoom*) obtain:(AVDRoomId)roomID; 
Discussion

< 参会者列表用户信息, 数组中存放AVDUser对象


obtain:


+ (AVDEasyRoom*) obtain:(AVDRoomId)roomID; 
Return Value

返回房间接口指针。

Discussion

获取或创建房间接口

@param[in] roomId 房间Id。

只支持单用户应用,不支持多用户应用。:


previewCamera:


- (AVDResult) previewCamera:(id<AVDVideoRenderer>)render; 
Return Value

返回错误代码。 @sa IVideoRender

Discussion

预览本地缺省摄像头视频

@param[in] *render 显示对象接口指针

本地视频在发布到会议前,可以调用此接口进行视频预览;视频发布到会议中后,需要使用attachRender接口来进行视频显示,此时此接口无效。:

只支持单个视频输入设备,如果设置了 FakeVideoCapturer 优先使用外部导入视频; 如果没有设置外部导入视频源,根据设置使用缺省视频设备。


publishCamera


- (AVDResult) publishCamera; 
Return Value

返回错误代码。

发布操作为异步操作,操作结果在 onPublishResult 中返回。:

@sa onPublishResult

Discussion

发布缺省摄像头视频


publishMicrophone


- (AVDResult) publishMicrophone; 
Return Value

返回错误代码。

为异步操作,操作结果在 onOpenMicrophoneResult 中返回。:

只支持单个音频输入设备,如果设置了 FakeAudioCapturer优先使用外部导入音频; 如果没有设置外部导入音频源,根据设置使用缺省音频设备。 @sa onOpenMicrophoneResult

Discussion

打开本地麦克风发布到房间中


sendPrivateData:toUserId:


- (AVDResult) sendPrivateData:(NSData*)data toUserId:(AVDUserId)toId; 
Return Value

返回错误代码。

Discussion

透明通道,发送私有数据

@param[in] *data 发送的数据指针。 @param[in] toId 目的用户Id。

此透明通道用于承载应用层数据,发送给房间内某一特定用户。:


sendPublicData:


- (AVDResult) sendPublicData:(NSData*)data; 
Return Value

返回错误代码。

Discussion

透明通道,发送广播数据

@param[in] *data 发送的数据指针。

此透明通道用于承载应用层数据,广播给所有房间内用户。:


setAudioMixerDataListener:sampleRate:


- (AVDResult) setAudioMixerDataListener:(id <AVDAudioRenderer>)listener 
        sampleRate:(NSInteger)sampleRate; 
Return Value

返回错误代码。 @sa IAudioRender @sa ro_audio_mixerdata_callback_buffered 单次混音数据回调“10ms数据”还是“1024samples数据”

如果音视频同时混合出流,建议先设置视频,再设置音频的回调接口,有助于音视频时间戳对齐。:

Discussion

设置获取混音数据回调接口 @param[in] listener 混音数据回调指针。 @param[in] sampleRate 导出混音数据的采样率:16000,44100,48000。


setAudioSource:


- (AVDResult) setAudioSource:(AVDFakeAudioCapturer*)acapturer; 
Return Value

返回错误代码。 @sa FakeAudioCapturer

Discussion

开启直播(主播)或对讲(观众)前: 设置音频的输入数据源

@param[in] *acapturer 音频的输入数据源。


setOption:value:


- (AVDResult) setOption:(enum AVDRoomOption)type value:(NSString*)svalue; 
Return Value

返回错误代码。

Discussion

设置房间选项

@param[in] type 房间选项类型。 @param[in] svalue 选项内容,根据选项说明填入。


setVideoMixerDataListener:


- (AVDResult) setVideoMixerDataListener:(id<AVDVideoRenderer>)listener; 
Return Value

返回错误代码。 @sa IVideoRender

如果音视频同时混合出流,建议先设置视频,再设置音频的回调接口,有助于音视频时间戳对齐。:

Discussion

设置获取视频数据回调接口,此数据仅回调一份数据:数据为主视频+各个Overlay的视频,视频大小为主视频大小;如使用ILivecast接口,不需要设置此接口。 @param[in] listener 混音数据回调指针。


setVideoSource:


- (AVDResult) setVideoSource:(AVDFakeVideoCapturer*)vcapturer; 
Return Value

返回错误代码。 @sa FakeVideoCapturer

Discussion

开启直播(主播)或对讲(观众)前: 设置视频的输入数据源

@param[in] *vcapturer 视频的输入数据源。


switchCamera


- (AVDResult) switchCamera; 
Return Value

返回错误代码。

Discussion

视频切换摄像头


unmuteMicrophone


- (AVDResult) unmuteMicrophone; 
Return Value

返回错误代码。

Discussion

本地麦克风静默取消


unpreviewCamera


- (AVDResult) unpreviewCamera; 
Return Value

返回错误代码。

Discussion

取消预览缺省摄像头视频


unpublishCamera


- (AVDResult) unpublishCamera; 
Return Value

返回错误代码。

取消发布操作为异步操作,操作结果在 onUnpublishResult 中返回。:

@sa onUnpublishResult

Discussion

取消发布缺省摄像头视频


unpublishMicrophone


- (AVDResult) unpublishMicrophone; 
Return Value

返回错误代码。

为异步操作,操作结果在 onCloseMicrophoneResult 中返回。:

@sa onCloseMicrophoneResult

Discussion

关闭本地麦克风发布到房间中


Properties

audioParams
participants
roomId
roomInfo
selfUser
selfUserId
videoParams

audioParams


@property (nonatomic,
    retain) AVDAudioParams *audioParams; 
Discussion

< 视频参数


participants


@property (nonatomic,
    retain,
    readonly) NSMutableArray* participants; 
Discussion

< 自己的用户信息


roomId


@property (nonatomic,
    retain,
    readonly) AVDRoomId roomId; 
Discussion

< 音频参数


roomInfo


@property (nonatomic,
    retain,
    readonly) AVDRoomInfo *roomInfo; 
Discussion

< 当前的房间Id


selfUser


@property (nonatomic,
    retain,
    readonly) AVDUser *selfUser; 
Discussion

< 自己的用户ID


selfUserId


@property (nonatomic,
    retain,
    readonly) AVDUserId selfUserId; 
Discussion

< 当前的房间信息


videoParams


@property (nonatomic,
    retain) AVDVideoParams *videoParams; 
Discussion

< 房间逻辑回调代理