常用 API

1、RongRTCEngine: 音视频引擎,SDK 初始化管理类

方法 描述 支持版本
sharedEngine 音视频引擎初始化 3.0.0
joinRoom:completion 加入房间,获取音视频房间对象 3.0.0
leaveRoom:completion 离开房间,SDK 清理音视频资源 3.0.0

2、RongRTCRoom: 音视频房间对象,负责管理房间内所有人员,包含当前登录用户 localUser 和远端用户 remoteUsers

方法和属性 描述 支持版本
delegate 房间事件代理,实现代理方法获取房间内事件 3.0.0
localUser 房间内当前登录用户对象,通过该属性可以发布资源 3.0.0
remoteUsers 房间对所有远端用户对象,通过该属性可以订阅资源 3.0.0
sendRTCMessage:pushContent:pushData:success:error 发布房间内消息 3.0.0
setRoomAttributeValue:attributeValue:forKey:message:completion 设置房间属性,message 参数可以选择是否往房间内同事发送一条消息 3.0.0
deleteRoomAttributes:attributeKeys:message:completion 删除房间属性,message 参数可以选择是否往房间内同事发送一条消息 3.0.0
getRoomAttributes:completion 获取房间属性 3.0.0

3、 RongRTCLocalUser: 当前登录用户,负责发布和取消发布本端资源

方法和属性 描述 支持版本
localAVStreams 当前登录发布的所有音视频数据 3.0.0
publishDefaultAVStream: 发布默认音视频资源 3.0.0
unpublishDefaultAVStream: 取消发布默认音视频资源 3.0.0
publishAVStream:extra:completion 发布自定义资源 3.0.0
unpublishAVStream:extra:completion 取消发布自定义资源 3.0.0

4、RongRTCRemoteUser : 远端房间内用户

方法和属性 描述 支持版本
remoteAVStreams 该用户发布的所有音视频资源 3.0.0
subscribeAVStream:tinyStreams:completion 订阅该用户的音视频资源,注:如果视频资源放大 tinyStreams 参数中则 SDK 内部会订阅小码率的视频流数据 3.0.0
exchangeStreamToTinyStream:completion 将一个视频流切换成小码率视频流
exchangeStreamToNormalStream 将 一个视频流切换成正常码率视频流 3.0.0
unsubscribeAVStream 取消订阅音视频流 3.0.0

5、RongRTCAVCapturer : 音视频采集类,负责音视频的采集,音视频参数设置,音视频数据回调监听和管理,音视频数据发送等

方法和属性 描述 支持版本
setCaptureParam 音视频采集参数设置 3.0.0
setMicrophoneDisable 关闭/打开麦克风 3.0.0
switchCamera 切换前后摄像头 3.0.0
useSpeaker: 切换使用外放/听筒 3.0.0
startCapture 开启音视频采集 3.0.0
stopCapture 关闭音视频采集 3.0.0
setCameraDisable: 采集运行中关闭或打开摄像头 3.0.0
videoSizePreset 设置通话过程中的视频分辨率 3.0.0
videoFrameRate 设置通话过程中视频帧率 3.0.0
maxBitrate 运行通话过程中最大码率设置,单位 bps 3.0.0
videoOrientation 设置摄像头采集方向,默认以 AVCaptureVideoOrientationPortrait 角度进行采集 3.0.0
audioBufferCallback 接收到音频或者发送音频时的音频数据,用户可以直接处理该音频数据 3.0.0
videoSendBufferCallback 引擎底部开始视频编码并发送之前会往上层抛一个回调,用户可以修改和调整 CMSampleBufferRef 数据,然后返回一个 CMSampleBufferRef 数据,如果返回空或者没有实现该回调,则会使用默认视频数据传输 3.0.0
videoDisplayBufferCallback 本地摄像头采集的视频在即将预览前会往上层抛一个视频帧回调,用户可以处理视频帧数据之后然后回传给 RTC,RTC 使用用户处理的视频帧进行预览 3.0.0
setVideoRender: 设置视频媒体数据的渲染界面 3.0.0

6、RongRTCAVInputStream: 要订阅的音视频流对象,App 通过 remoteUser 的订阅方法,传入该对象即可完成音视频的订阅功能,目前支持音频和视频功能

方法和属性 描述 支持版本
delegate 音视频数据回调代理方法 3.0.0
setVideoRender 设置远端用户视频流的渲染界面 3.0.0
state 当前音视频的状态(正常还是禁用状态) 3.0.0