RCRTCEngine Class Reference

Inherits from NSObject
Declared in RCRTCEngine.h

Overview

音视频引擎类

+ sharedInstance

音视频引擎单例

+ (RCRTCEngine *)sharedInstance

Discussion

音视频引擎单例

@remarks RCRTCEngine

Declared In

RCRTCEngine.h

– init

请使用 sharedInstance 初始化方法

- (instancetype)init

Discussion

请使用 sharedInstance 初始化方法

Declared In

RCRTCEngine.h

– new

请使用 sharedInstance 初始化方法

- (instancetype)new

Discussion

请使用 sharedInstance 初始化方法

Declared In

RCRTCEngine.h

– initWithConfig:

音视频引擎参数设置

- (int)initWithConfig:(RCRTCConfig *)config

Parameters

config

Engine 配置

Return Value

错误码,参考 RCRTCCode

@remarks RCRTCEngine:参数配置

Discussion

音视频引擎参数设置

Declared In

RCRTCEngine.h

– unInit

音视频引擎销毁资源, 会有主动离开房间操作

- (void)unInit

Discussion

音视频引擎销毁资源, 会有主动离开房间操作

@remarks RCRTCEngine

Declared In

RCRTCEngine.h

  audioEffectManager

音效管理器,管理播放、暂停等

@property (nonatomic, strong, readonly) RCRTCAudioEffectManager *audioEffectManager

Discussion

音效管理器,管理播放、暂停等

@remarks RCRTCEngine:参数配置

Declared In

RCRTCEngine.h

  config

全局音视频配置信息

@property (nonatomic, strong, readonly, nullable) RCRTCConfig *config

Discussion

全局音视频配置信息

@remarks RCRTCEngine:参数配置

Declared In

RCRTCEngine.h

  currentRoom

当前已加入的房间,已废弃 (Deprecated: 4.0.5 @remarks RCRTCEngine:房间接口)

@property (nonatomic, strong, readonly, nullable) RCRTCRoom *DEPRECATED_MSG_ATTRIBUTE ( "use room property instead" ) currentRoom

Discussion

当前已加入的房间,已废弃

Declared In

RCRTCEngine.h

  room

当前已加入的房间

@property (nonatomic, strong, readonly, nullable) RCRTCRoom *room

Discussion

当前已加入的房间

@remarks RCRTCEngine:房间接口

Declared In

RCRTCEngine.h

  defaultAudioStream

本地默认音频流

@property (nonatomic, strong, readonly) RCRTCMicOutputStream *defaultAudioStream

Discussion

本地默认音频流

@remarks RCRTCEngine:媒体流操作

Declared In

RCRTCEngine.h

  defaultVideoStream

本地默认视频流

@property (nonatomic, strong, readonly) RCRTCCameraOutputStream *defaultVideoStream

Discussion

本地默认视频流

@remarks RCRTCEngine:媒体流操作

Declared In

RCRTCEngine.h

  statusReportDelegate

房间状态报告监听

@property (nonatomic, weak, nullable) id<RCRTCStatusReportDelegate> statusReportDelegate

Discussion

房间状态报告监听

@remarks RCRTCEngine:统计接口

Declared In

RCRTCEngine.h

  delegate

Engine 代理

@property (nonatomic, weak, nullable) id<RCRTCEngineEventDelegate> delegate

Discussion

Engine 代理

@remarks RCRTCEngine:Engine 通知接口

Declared In

RCRTCEngine.h

  playingVolume

播放音量

@property (nonatomic, assign) NSUInteger playingVolume

Discussion

播放音量

@remarks RCRTCEngine:媒体流操作

Declared In

RCRTCEngine.h

– startEchoTest:

设备检测

- (void)startEchoTest:(NSTimeInterval)interval

Parameters

interval

麦克风录制统计时间[2 10] 单位 s,大于10秒默认为10s 小于2秒按2秒计算

@remarks RCRTCEngine:设备检测开启接口 added from 5.1.9

Discussion

设备检测

Declared In

RCRTCEngine.h

– stopEchoTest

设备检测

- (void)stopEchoTest

Discussion

设备检测

@remarks RCRTCEngine:设备检测关闭接口 added from 5.1.9

Declared In

RCRTCEngine.h

– createFileVideoOutputStream:replaceAudio:playback:tag:config:

创建自定义文件视频流

- (nullable RCRTCFileVideoOutputStream *)createFileVideoOutputStream:(NSString *)path replaceAudio:(BOOL)replace playback:(BOOL)playback tag:(NSString *)tag config:(RCRTCVideoStreamConfig *)config

Parameters

path

文件路径

replace

文件中音频是否替换麦克风数据,YES 替换麦克风数据,NO 与麦克风数据混音

playback

文件中的音频是否在本端播放

tag

自定义视频文件流标识

config

自定视频文件流的配置信息

Return Value

自定义视频文件流

Discussion

创建自定义文件视频流

Added from 5.1.9

@remarks RCRTCEngine:媒体流操作

Declared In

RCRTCEngine.h

– getScreenShareVideoStreamWithGroupId:

获取屏幕共享所需流

- (RCRTCScreenShareOutputStream *)getScreenShareVideoStreamWithGroupId:(NSString *)groupId

Parameters

groupId

groupId 苹果开发者账号后台申请

@remarks RCRTCEngine:RCRTCScreenShareOutputStream get 接口 added from 5.1.8

Discussion

获取屏幕共享所需流

Declared In

RCRTCEngine.h

– setMediaServerUrl:

设置媒体服务器地址

- (BOOL)setMediaServerUrl:(NSString *)url

Parameters

url

媒体服务器地址 设置媒体服务器地址,特别注意如果设置了会覆盖导航下载下来的 media server url

Return Value

设置是否成功

Discussion

设置媒体服务器地址

@remarks RCRTCEngine:参数配置

Declared In

RCRTCEngine.h

– useSpeaker:

启用扬声器 (Deprecated: 4.0.5 @remarks RCRTCEngine:媒体流操作)

- (BOOL)useSpeaker:(BOOL)useSpeaker DEPRECATED_MSG_ATTRIBUTE ( "use enableSpeaker: API instead" )

Parameters

useSpeaker

YES 启用扬声器;NO 关闭扬声器 @discussion 暂态设置启用或关闭扬声器

Return Value

调用成功返回 YES

Discussion

启用扬声器

Declared In

RCRTCEngine.h

– enableSpeaker:

启用扬声器

- (BOOL)enableSpeaker:(BOOL)enable

Parameters

enable

默认值为 YES;YES 启用扬声器;NO 关闭扬声器 @discussion 暂态设置启用或关闭扬声器,任何用户行为或者音频相关 API 的调用都有可能改变暂态设置

@remarks RCRTCEngine:媒体流操作

Return Value

调用成功返回 YES

Discussion

启用扬声器

Declared In

RCRTCEngine.h

– setDefaultAudioRouteToSpeaker:

设置默认音频路由

- (BOOL)setDefaultAudioRouteToSpeaker:(BOOL)defaultToSpeaker

Parameters

defaultToSpeaker

默认为 NO,不使用扬声器作为默认音频路由;YES 使用扬声器作为默认音频路由 @discussion 设置默认的音频路由,就是在没有外接设备的前提下,设置系统使用听筒还是扬声器播放音频。

@remarks RCRTCEngine:媒体流操作

Return Value

调用成功返回 YES

Discussion

设置默认音频路由

Declared In

RCRTCEngine.h

– setAudioCustomizedEncryptorDelegate:

设置音频输出流自定义加密回调

- (void)setAudioCustomizedEncryptorDelegate:(nullable id<RCRTCCustomizedEncryptorDelegate>)audioEncryptorDelegate

Parameters

audioEncryptorDelegate

加密代理,接口传入 RCRTCCustomizedEncryptorDelegate 的非空实现对象表示开启自定义加密; 如果传入 nil 代表关闭自定义加密。

@discussion 该接口设置为全局设置,对所有发送音频进行加密,开启时机为加入房间前或者观众订阅流前,关闭时机为离开房间或者观众取消订阅流后, 其它时机调用可能会不生效或者其它负面效果。

@remarks RCRTCEngine:加密接口

Discussion

设置音频输出流自定义加密回调

Declared In

RCRTCEngine.h

– setAudioCustomizedDecryptorDelegate:

设置音频输入流自定义解密回调

- (void)setAudioCustomizedDecryptorDelegate:(nullable id<RCRTCCustomizedDecryptorDelegate>)audioDecryptorDelegate

Parameters

audioDecryptorDelegate

加密代理,接口传入 RCRTCDecryptorDelegate 的非空实现对象表示开启自定义解密; 如果传入 nil 代表关闭自定义解密。

@discussion 该接口设置为全局设置,对所有接收音频进行解密,开启时机为加入房间前或者观众订阅流前,关闭时机为离开房间或者观众取消订阅流后, 其它时机调用可能会不生效或者其它负面效果。

@remarks RCRTCEngine:加密接口

Discussion

设置音频输入流自定义解密回调

Declared In

RCRTCEngine.h

– setVideoCustomizedEncryptorDelegate:

设置视频输出流自定义加密回调

- (void)setVideoCustomizedEncryptorDelegate:(nullable id<RCRTCCustomizedEncryptorDelegate>)videoEncryptorDelegate

Parameters

videoEncryptorDelegate

加密代理,接口传入 RCRTCCustomizedEncryptorDelegate 的非空实现对象表示开启自定义加密; 如果传入 nil 代表关闭自定义加密。

@discussion 该接口设置为全局设置,对所有发送视频进行加密,开启时机为加入房间前或者观众订阅流前,关闭时机为离开房间或者观众取消订阅流后, 其它时机调用可能会不生效或者其它负面效果。

@remarks RCRTCEngine:加密接口

Discussion

设置视频输出流自定义加密回调

Declared In

RCRTCEngine.h

– setVideoCustomizedDecryptorDelegate:

设置视频输入流自定义解密回调

- (void)setVideoCustomizedDecryptorDelegate:(nullable id<RCRTCCustomizedDecryptorDelegate>)videoDecryptorDelegate

Parameters

videoDecryptorDelegate

加密代理,接口传入 RCRTCDecryptorDelegate 的非空实现对象表示开启自定义解密; 如果传入 nil 代表关闭自定义解密。

@discussion 该接口设置为全局设置,对所有接收视频进行解密,开启时机为加入房间前或者观众订阅流前,关闭时机为离开房间或者观众取消订阅流后, 其它时机调用可能会不生效或者其它负面效果。

@remarks RCRTCEngine:加密接口

Discussion

设置视频输入流自定义解密回调

Declared In

RCRTCEngine.h

– joinRoom:completion:

加入房间

- (void)joinRoom:(NSString *)roomId completion:(nullable void ( ^ ) ( RCRTCRoom *_Nullable room , RCRTCCode code ))completion

Parameters

roomId

房间 Id, 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式 最长 64 个字符

completion

加入房间回调,其中, room 对象中的 remoteUsers, 存储当前房间中的所有人, 包括发布资源和没有发布资源的人

@remarks RCRTCEngine:房间接口

Discussion

加入房间

Declared In

RCRTCEngine.h

– joinRoom:config:completion:

加入指定类型房间

- (void)joinRoom:(NSString *)roomId config:(RCRTCRoomConfig *)config completion:(nullable void ( ^ ) ( RCRTCRoom *_Nullable room , RCRTCCode code ))completion

Parameters

roomId

房间 Id, 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式 最长 64 个字符

config

加入房间的配置, 主要用于配置直播场景。

completion

加入房间回调, 其中 room 对象中的 remoteUsers, 存储当前房间中的所有人, 包括发布资源和没有发布资源的人 @discussion 加入房间

@remarks RCRTCEngine:房间接口

Discussion

加入指定类型房间

Declared In

RCRTCEngine.h

– leaveRoom:completion:

离开房间,已废弃 (Deprecated: 4.0.5 @remarks RCRTCEngine:房间接口)

- (void)leaveRoom:(NSString *)roomId completion:(nullable void ( ^ ) ( BOOL isSuccess , RCRTCCode code ))completion DEPRECATED_MSG_ATTRIBUTE ( "use leaveRoom: API instead" )

Parameters

roomId

房间 Id

completion

离开房间回调

Discussion

离开房间,已废弃

Declared In

RCRTCEngine.h

– leaveRoom:

离开房间

- (void)leaveRoom:(nullable RCRTCOperationCallback)completion

Parameters

completion

离开房间回调 @discussion 离开房间时不需要调用取消资源发布, SDK 内部会做好取消发布资源逻辑

@remarks RCRTCEngine:房间接口

Discussion

离开房间

Declared In

RCRTCEngine.h

– joinOtherRoom:completion:

连麦邀请后加入副房间

- (void)joinOtherRoom:(NSString *)roomId completion:(nullable void ( ^ ) ( RCRTCOtherRoom *_Nullable room , RCRTCCode code ))completion

Parameters

roomId

副房间 Id, 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式 最长 64 个字符

completion

加入副房间回调 @discussion 此方法仅供连麦加入副房间使用

@remarks RCRTCEngine:房间接口

Discussion

连麦邀请后加入副房间

Declared In

RCRTCEngine.h

– leaveOtherRoom:notifyFinished:completion:

离开副房间

- (void)leaveOtherRoom:(NSString *)roomId notifyFinished:(BOOL)isNotify completion:(nullable RCRTCOperationCallback)completion DEPRECATED_MSG_ATTRIBUTE ( "use leaveOtherRoom:completion: API instead" )

Parameters

roomId

副房间 Id

isNotify

是否通知所有连麦用户结束, YES:通知 NO:不通知; 如果想在退出副房间的同时结束 PK,请调用 RCRTCLocalUser.h 的 quitRoomPK 接口。

completion

离开房间回调 @discussion 此方法仅供连麦离开副房间使用

@remarks RCRTCEngine:房间接口

Discussion

离开副房间

Declared In

RCRTCEngine.h

– leaveOtherRoom:completion:

离开副房间

- (void)leaveOtherRoom:(NSString *)roomId completion:(nullable RCRTCOperationCallback)completion

Parameters

roomId

副房间 Id

completion

离开房间回调 @discussion 此方法仅供连麦离开副房间使用

@remarks RCRTCEngine:房间接口

Discussion

离开副房间

Declared In

RCRTCEngine.h

– subscribeLiveStream:streamType:completion:

观众订阅主播资源,已废弃 (Deprecated: from 5.1.0 @remarks RCRTCEngine:媒体流操作)

- (void)subscribeLiveStream:(NSString *)url streamType:(RCRTCAVStreamType)streamType completion:(nullable RCRTCLiveCallback)completion DEPRECATED_MSG_ATTRIBUTE ( "use RCRTCLocalUser.h subscribeStream:tinyStreams:completion: API instead" )

Parameters

url

主播直播的 url

streamType

需要具体订阅的媒体类型

completion

动作的回调, 会依次回调主播的 RCRTCInputStream, 根据 streamType 区分是音频流还是视频流, 如主播发布了音视频流, 此回调会回调两次, 分别为音频的 RCRTCInputStream, 和视频的 RCRTCInputStream 。 @discussion 仅直播模式可用, 作为观众, 直接观看主播的直播, 无需加入房间, 通过传入主播的 url, 仅观众端可用,此接口可具体订阅音频流或视频流或大小流

Discussion

观众订阅主播资源,已废弃

Declared In

RCRTCEngine.h

– unsubscribeLiveStream:completion:

观众取消订阅主播资源,已废弃 (Deprecated: from 5.1.0 @remarks RCRTCEngine:媒体流操作)

- (void)unsubscribeLiveStream:(NSString *)url completion:(nullable void ( ^ ) ( BOOL isSuccess , RCRTCCode code ))completion DEPRECATED_MSG_ATTRIBUTE ( "use RCRTCLocalUser.h unsubscribeStreams:completion: API instead" )

Parameters

url

主播直播的 url

completion

动作的回调 @discussion 仅直播模式可用, 作为观众, 退出观看主播的直播, 仅观众端使用

Discussion

观众取消订阅主播资源,已废弃

Declared In

RCRTCEngine.h

– queryRTCRoomJoinedInfo:

查询当前用户已经加入的房间

- (void)queryRTCRoomJoinedInfo:(nullable void ( ^ ) ( BOOL isSuccess , RCRTCCode code , NSArray<RCRTCJoinedRoomInfo*> *_Nullable infoArray ))completion

Discussion

查询当前用户已经加入的房间

@discussion 查询当前用户已经加入的房间

@remarks 房间管理

Declared In

RCRTCEngine.h

  probeTestDelegate

加房间前探测回调

@property (nonatomic, weak, nullable) id<RCRTCProbeTestDelegate> probeTestDelegate

Discussion

加房间前探测回调

Add from 5.1.17

@remarks RCRTCEngine:统计接口

Declared In

RCRTCEngine.h

– startRTCProbeTest:

加房间前探测

- (void)startRTCProbeTest:(nullable RCRTCOperationCallback)callback

Parameters

callback

开始探测操作的回调 @discussion 与当前的 media server 建立连接,可以从 RCRTCProbeTestDelegate 拿到探测的上下行报表数据,探测持续 30s 自动结束。 Add from 5.1.17

@remarks RCRTCEngine:探测接口

Discussion

加房间前探测

Declared In

RCRTCEngine.h

– stopRTCProbeTest:

主动结束探测

- (void)stopRTCProbeTest:(nullable RCRTCOperationCallback)callback

Parameters

callback

开始探测操作的回调 @discussion 探测自动结束前,可以手动调用该接口停止探测。 Add from 5.1.17

@remarks RCRTCEngine:探测接口

Discussion

主动结束探测

Declared In

RCRTCEngine.h

– getRTCLibVersion

获取 SDK 版本号,已废弃 (Deprecated: 4.0.5 @remarks RCRTCEngine:参数配置)

- (NSString *)getRTCLibVersion DEPRECATED_MSG_ATTRIBUTE ( "use getVersion API instead" )

Return Value

版本号

Discussion

获取 SDK 版本号,已废弃

Declared In

RCRTCEngine.h

+ getVersion

获取 SDK 版本号

+ (NSString *)getVersion

Return Value

版本号

@remarks RCRTCEngine:参数配置

Discussion

获取 SDK 版本号

Declared In

RCRTCEngine.h