AVDEasyRoom
Introduction简易房间接口类 简易房间接口定义了独立的简易房间对象创建和释放、房间功能操作。 Methods
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关闭本地麦克风发布到房间中 PropertiesaudioParams@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< æ¿é´é»è¾åè°ä»£ç |