cn.tee3.avd_SDK-Objectc  2.1.0
AVDEasyRoom.h
浏览该文件的文档.
1 //
2 // AVDEasyRoom.h
3 // avd_sdk
4 //
5 // Created by skin on 15-7-21.
6 // Copyright (c) 2015年 t3ee. All rights reserved.
7 //
8 
9 #ifndef avd_sdk_AVDEasyRoom_h
10 #define avd_sdk_AVDEasyRoom_h
11 
12 #import "AVDCommon.h"
13 #import "AVDAudioParams.h"
14 #import "AVDVideoParams.h"
15 #import "AVDDevice.h"
16 #import "AVDUser.h"
17 #import "AVDRoom.h"
18 #import "AVDRoomInfo.h"
19 #import "AVDRoomStats.h"
20 #import "AVDVideoMixer.h"
21 #import "AVDVideoRenderer.h"
22 #import "AVDFakeVideoCapturer.h"
23 #import "AVDFakeAudioCapturer.h"
24 
35 };
36 
40 @protocol AVDAudioRenderer<NSObject>
45 - (void) onAudioParam:(NSUInteger)sampleRate channels:(NSUInteger)channels;
51 - (void) onAudioData:(NSData*)data pts:(NSInteger)timestamp_ns;
52 
53 @end
54 
60 @protocol AVDEasyRoomDelegate<NSObject>
61 @optional
72 - (void)onLeaveIndication:(AVDResult)reason fromUser:(AVDUserId)fromId;
74 
79 - (void)onConnectionStatus:(enum AVDConnectionStatus)status;
80 
82 
89 - (void)onPublicData:(NSData*)data fromUser:(AVDUserId)fromId;
90 
98 - (void)onPrivateData:(NSData*)data fromUser:(AVDUserId)fromId;
99 
101 
108 - (void)onUserJoinNotify:(AVDUser *)user;
109 
117 - (void)onUserLeaveNotify:(AVDUser *)user;
118 
120 
128 - (void) onMicrophoneStatusNotify:(enum AVDDeviceStatus)status fromUser:(AVDUserId)fromId;
135 - (void) onCameraStatusNotify:(enum AVDDeviceStatus)status fromUser:(AVDUserId)fromId;
136 
138 
143 - (void) onOperateResult:(enum AVDOperateType)type result:(AVDResult)result;
144 
145 @end
146 
147 
153 @interface AVDEasyRoom : NSObject
154 @property (nonatomic,weak) id <AVDEasyRoomDelegate>delegate;
155 @property (nonatomic,retain) AVDVideoParams *videoParams;
156 @property (nonatomic,retain) AVDAudioParams *audioParams;
157 @property (nonatomic,retain,readonly) AVDRoomId roomId;
158 @property (nonatomic,retain,readonly) AVDRoomInfo *roomInfo;
159 @property (nonatomic,retain,readonly) AVDUserId selfUserId;
160 @property (nonatomic,retain,readonly) AVDUser *selfUser;
161 @property (nonatomic,retain,readonly) NSMutableArray* participants;
170 + (AVDEasyRoom*) obtain:(AVDRoomId)roomID;
175 - (void) destory;
176 
178 
186 - (AVDResult) joinWithUser:(AVDUser*)user delegate:(id<AVDRoomJoinDelegate>)joinresult;
187 - (BOOL) isWorking;
195 - (AVDResult) leave:(AVDResult)reason; // leave myself
205 - (AVDResult) kickoutUser:(AVDResult)reason userId:(AVDUserId)userId;
213 - (AVDResult) sendPublicData:(NSData*)data;
214 
223 - (AVDResult) sendPrivateData:(NSData*)data toUserId:(AVDUserId)toId;
224 
226 
232 - (AVDResult) setVideoSource:(AVDFakeVideoCapturer*)vcapturer;
239 - (AVDResult) setAudioSource:(AVDFakeAudioCapturer*)acapturer;
240 
257 
267 - (AVDResult) previewCamera:(id<AVDVideoRenderer>)render;
296 - (AVDResult) attachRender:(AVDUserId)userId render:(id<AVDVideoRenderer>)render;
302 - (AVDResult) detachRender:(AVDUserId)userId;
310 - (BOOL) ismuteMicrophone;
319 
321 
329 - (AVDResult) setAudioMixerDataListener:(id <AVDAudioRenderer>)listener sampleRate:(NSInteger)sampleRate;
336 - (AVDResult) setVideoMixerDataListener:(id<AVDVideoRenderer>)listener;
341 
347 - (AVDResult) enableStats:(BOOL)isEnable;
353 
360 - (AVDResult) setOption:(enum AVDRoomOption)type value:(NSString*)svalue;
366 - (NSString*) getOption:(enum AVDRoomOption)type;
367 
368 #ifndef DOXYGEN_SHOULD_SKIP_THIS
369 // Disallow init and don't add to documentation
370 - (id)init __attribute__((
371  unavailable("init is not a supported initializer for this class.")));
372 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
373 
374 @end
375 
376 #endif
void destory()
释放房间接口
AVDVideoParams * videoParams
视频参数
Definition: AVDEasyRoom.h:155
BOOL ismuteMicrophone()
判断本地麦克风是否静默
AVDDeviceStatus
设备状态.
Definition: AVDDevice.h:14
NSMutableArray * participants
参会者列表用户信息, 数组中存放AVDUser对象
Definition: AVDEasyRoom.h:161
简易房间接口类
Definition: AVDEasyRoom.h:153
AVDResult unmuteMicrophone()
本地麦克风静默取消
房间统计信息结构.
Definition: AVDRoomStats.h:17
音频参数信息结构.
Definition: AVDAudioParams.h:16
AVDRoomInfo * roomInfo
当前的房间信息
Definition: AVDEasyRoom.h:158
BOOL isWorking()
NSInteger AVDResult
Definition: AVDCommon.h:14
id< AVDEasyRoomDelegate > delegate
房间逻辑回调代理
Definition: AVDEasyRoom.h:154
AVDUserId selfUserId
自己的用户ID
Definition: AVDEasyRoom.h:159
NSString * AVDRoomId
Definition: AVDCommon.h:16
用户数据结构.
Definition: AVDUser.h:21
房间中订阅显示视频
Definition: AVDEasyRoom.h:33
AVDResult unpublishCamera()
取消发布缺省摄像头视频
Definition: AVDVideoRenderer.h:27
视频流导入接口.
Definition: AVDFakeVideoCapturer.h:49
AVDConnectionStatus
房间网络状态
Definition: AVDRoomInfo.h:35
(unavailable("init is not a supported initializer for this class." __attribute__()
房间中关闭分享本地音频
Definition: AVDEasyRoom.h:30
AVDAudioParams * audioParams
音频参数
Definition: AVDEasyRoom.h:156
NSString * AVDUserId
Definition: AVDCommon.h:15
视频参数信息结构.
Definition: AVDVideoParams.h:17
AVDResult unpublishMicrophone()
关闭本地麦克风发布到房间中
音频流导入接口.
Definition: AVDFakeAudioCapturer.h:20
AVDOperateType
异步操作类型.
Definition: AVDEasyRoom.h:28
房间中分享本地视频
Definition: AVDEasyRoom.h:31
房间中音频混音数据回调接口.
Definition: AVDEasyRoom.h:40
AVDResult unpreviewCamera()
取消预览缺省摄像头视频
视频混屏模块接口.
Definition: AVDVideoMixer.h:27
AVDResult switchCamera()
视频切换摄像头
AVDRoomStats * getRoomStats()
获取房间的流量统计信息
初始状态
Definition: AVDRoomInfo.h:37
房间信息结构.
Definition: AVDRoomInfo.h:48
AVDRoomId roomId
当前的房间Id
Definition: AVDEasyRoom.h:157
AVDVideoMixer * getVideoMixer()
获取视频混频布局接口
AVDResult publishMicrophone()
打开本地麦克风发布到房间中
简易房间回调接口类
Definition: AVDEasyRoom.h:60
房间中关闭分享本地视频
Definition: AVDEasyRoom.h:32
房间中分享本地音频
Definition: AVDEasyRoom.h:29
AVDResult publishCamera()
发布缺省摄像头视频
AVDUser * selfUser
自己的用户信息
Definition: AVDEasyRoom.h:160
房间中取消订阅显示视频
Definition: AVDEasyRoom.h:34
AVDResult muteMicrophone()
本地麦克风静默
AVDRoomOption
房间选项
Definition: AVDRoom.h:24