快速开始
通过以下几个简单的步骤即可建立音视频通话:
创建连麦核心对象
在 ViewController.m
中添加 engine 属性
@property (nonatomic, strong) QNRTCEngine *engine;
创建连麦 engine
对象
self.engine = [[QNRTCEngine alloc] init];
self.engine.delegate = self;
其中 delegate (QNRTCEngineDelegate
)的回调相关说明,详见代理回调。
添加摄像头预览视图
将预览视图添加为当前视图的子视图
[self.view insertSubview:self.engine.previewView atIndex:0];
开始采集
开启采集后才能看到摄像头预览
[self.engine startCapture];
加入房间
调用以下接口加入房间:
- (void)joinRoomWithToken:(NSString *)token;
此处 token
需要 App 从 App Server 中获取,App Server 如何生成 token 可查阅 RoomToken 的计算。
发布音视频
调用如下方法发布自己的音视频:
[self.engine publish];
渲染远端用户的视频画面
当远端用户发布视频后,在远端用户视频首帧解码后的回调中,渲染画面并返回相应类
- (QNVideoRender *)RTCEngine:(QNRTCEngine *)engine firstVideoDidDecodeOfTrackId:(NSString *)trackId remoteUserId:(NSString *)userId {
QNVideoRender *render = [[QNVideoRender alloc] init];
QNVideoView *videoView = [[QNVideoView alloc]initWithFrame: CGRectMake(100, 20, 180, 320)];
[self.view addSubview:videoView];
render.renderView = videoView;
return render;
}
至此,如果一切正常的话,双方可以正常地进行音视频通话了。