跳转至

通话控制

获取通话管理 session

您可以通过 RCCallClient 的以下接口,查询当前的通话实体。

// RCCallClient Class

/*!
当前的通话会话实体
*/
@property (nonatomic, strong, readonly) RCCallSession *currentCallSession;

通话控制

通话实体 RCCallSession 包含当前通话的所有信息,您可以通过其中的接口,操控当前通话和获取相关信息,在发起通话和接收到呼入的通话时会获取到相应的通话实体。

接听当前来电

// RCCallSession Class

/*!
 接听来电

 @param type 接听使用的媒体类型
 */
- (void)accept:(RCCallMediaType)type;

挂断当前通话

// RCCallSession Class

/*!
 挂断通话
 */
- (void)hangup;

邀请用户加入当前通话(仅限邀请群组中的成员加入)

// RCCallSession Class

/*!
 邀请用户加入通话

 @param userIdList 用户ID列表
 @param type       建议被邀请者使用的媒体类型
 */
- (void)inviteRemoteUsers:(NSArray *)userIdList
               mediaType:(RCCallMediaType)type;

设置视频通话中某个用户的 View

// RCCallSession Class

/*!
 设置用户所在的视频View

 @param userId 用户ID(自己或他人)
 @param view   视频的View
 */
- (void)setVideoView:(UIView *)view
              userId:(NSString *)userId;

切换自己使用的媒体类型

// RCCallSession Class

/*!
 更换自己使用的媒体类型

 @param type 媒体类型
 */
- (BOOL)changeMediaType:(RCCallMediaType)type;

一个通话中,允许每个用户的媒体类型不一致,也就是说可以有些人以视频接入,有些人以音频接入。

设置静音

// RCCallSession Class

/*!
 设置静音状态

 @param muted 是否静音

 @return 是否设置成功

 @discussion 默认值为NO。
 */
- (BOOL)setMuted:(BOOL)muted;

设置扬声器状态

// RCCallSession Class

/*!
 设置扬声器状态

 @param speakerEnabled  是否开启扬声器
 @return                是否设置成功
 */
- (BOOL)setSpeakerEnabled:(BOOL)speakerEnabled;

开启或关闭摄像头

// RCCallSession Class

/*!
 设置摄像头状态

 @param cameraEnabled  是否开启摄像头
 @return               是否设置成功

 @discussion 音频通话的默认值为NO,视频通话的默认值为YES。
 */
- (BOOL)setCameraEnabled:(BOOL)cameraEnabled;

切换前后摄像头

// RCCallSession Class

/*!
 切换前后摄像头

 @return 是否切换成功
 */
- (BOOL)switchCameraMode;

设置是否有最小化窗口标志

// RCCallSession Class

/*!
 设置是否有最小化窗口状态

 @param minimized 是否最小化

 */
- (void)setMinimized:(BOOL)minimized;

是否有最小化窗口状态

// RCCallSession Class

/*!
 是否有最小化窗口
 */
@property(nonatomic, readonly) BOOL minimized;

开始声音录制

// RCCallSession Class

/*!
 @method 目前只支持录制wav格式音频文件, 请给出完整沙盒路径+文件名, 例如: /private/var/mobile/Containers/Data/Application/E5F57501-21AA-4F54-A1FB-9695A2753331/tmp/Rong/temp.wav
 @abstract 开始声音录制
 @param filePath 录制文件保存路径
 */
- (NSInteger)startAudioRecording:(NSString *)filePath;

停止声音录制

// RCCallSession Class

/*!
 @method
 @abstract 停止声音录制
 */
- (NSInteger)stopAudioRecording;