|
@@ -11,7 +11,8 @@
|
|
|
#import "RCRTCLibDefine.h"
|
|
|
#import "RCRTCRoomConfig.h"
|
|
|
#import "RCRTCCodeDefine.h"
|
|
|
-
|
|
|
+#import "RCRTCCryptoDelegate.h"
|
|
|
+#import "RCRTCEffectManager.h"
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
|
@class RCRTCRoom;
|
|
@@ -27,9 +28,9 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
/*!
|
|
|
音视频 SDK 对应版本
|
|
|
|
|
|
- RongRTCLib version: 4.0.1.1
|
|
|
- RongRTCLib commit: 41a03b2
|
|
|
- RongRTCLib time: 202008031520
|
|
|
+ RongRTCLib version: 4.0.2
|
|
|
+ RongRTCLib commit: 62f3906
|
|
|
+ RongRTCLib time: 202008191812
|
|
|
*/
|
|
|
|
|
|
|
|
@@ -43,6 +44,11 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
*/
|
|
|
+ (RCRTCEngine *)sharedInstance;
|
|
|
|
|
|
+/**
|
|
|
+ 音效管理器,通过调用 `RCRTCEffectManager.h` 中的 API 实现所有音效功能。
|
|
|
+ */
|
|
|
+@property (nonatomic , strong , readonly) RCRTCEffectManager *effectManager;
|
|
|
+
|
|
|
/*!
|
|
|
当前已加入的房间
|
|
|
*/
|
|
@@ -51,12 +57,12 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
/*!
|
|
|
默认音频流
|
|
|
*/
|
|
|
-@property (nonatomic, strong, readonly) RCRTCMicOutputStream *defaultAudioStream;
|
|
|
+@property (atomic, strong, readonly) RCRTCMicOutputStream *defaultAudioStream;
|
|
|
|
|
|
/*!
|
|
|
默认视频流
|
|
|
*/
|
|
|
-@property (nonatomic, strong, readonly) RCRTCCameraOutputStream *defaultVideoStream;
|
|
|
+@property (atomic, strong, readonly) RCRTCCameraOutputStream *defaultVideoStream;
|
|
|
|
|
|
/*!
|
|
|
sdk 状态监视器代理
|
|
@@ -100,6 +106,66 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
- (BOOL)useSpeaker:(BOOL)useSpeaker;
|
|
|
|
|
|
/*!
|
|
|
+切换音频输出流是否进行自定义加密
|
|
|
+
|
|
|
+@param audioEncryptorDelegate 加密代理,接口传入 RCRTCCustomizedEncryptorDelegate 的非空实现对象表示开启自定义加密;
|
|
|
+如果传入 nil 代表关闭自定义加密。
|
|
|
+
|
|
|
+@discussion
|
|
|
+该接口设置为全局设置,对所有发送音频进行加密,开启时机为加入房间前或者观众订阅流前,关闭时机为离开房间或者观众取消订阅流后,
|
|
|
+其它时机调用可能会不生效或者其它负面效果。
|
|
|
+
|
|
|
+@remarks 加解密配置
|
|
|
+
|
|
|
+*/
|
|
|
+- (void) setAudioCustomizedEncryptorDelegate:(id <RCRTCCustomizedEncryptorDelegate>) audioEncryptorDelegate;
|
|
|
+
|
|
|
+/*!
|
|
|
+切换音频输入流是否进行自定义解密
|
|
|
+
|
|
|
+@param audioDecryptorDelegate 加密代理,接口传入 RCRTCDecryptorDelegate 的非空实现对象表示开启自定义解密;
|
|
|
+如果传入 nil 代表关闭自定义解密。
|
|
|
+
|
|
|
+@discussion
|
|
|
+该接口设置为全局设置,对所有接收音频进行解密,开启时机为加入房间前或者观众订阅流前,关闭时机为离开房间或者观众取消订阅流后,
|
|
|
+其它时机调用可能会不生效或者其它负面效果。
|
|
|
+
|
|
|
+@remarks 加解密配置
|
|
|
+
|
|
|
+*/
|
|
|
+- (void) setAudioCustomizedDecryptorDelegate:(id <RCRTCCustomizedDecryptorDelegate>) audioDecryptorDelegate;
|
|
|
+
|
|
|
+/*!
|
|
|
+切换视频输出流是否进行自定义加密
|
|
|
+
|
|
|
+@param videoEncryptorDelegate 加密代理,接口传入 RCRTCCustomizedEncryptorDelegate 的非空实现对象表示开启自定义加密;
|
|
|
+如果传入 nil 代表关闭自定义加密。
|
|
|
+
|
|
|
+@discussion
|
|
|
+该接口设置为全局设置,对所有发送视频进行加密,开启时机为加入房间前或者观众订阅流前,关闭时机为离开房间或者观众取消订阅流后,
|
|
|
+其它时机调用可能会不生效或者其它负面效果。
|
|
|
+
|
|
|
+@remarks 加解密配置
|
|
|
+
|
|
|
+*/
|
|
|
+- (void) setVideoCustomizedEncryptorDelegate:(id <RCRTCCustomizedEncryptorDelegate>) videoEncryptorDelegate;
|
|
|
+
|
|
|
+/*!
|
|
|
+切换视频输入流是否进行自定义解密
|
|
|
+
|
|
|
+@param videoDecryptorDelegate 加密代理,接口传入 RCRTCDecryptorDelegate 的非空实现对象表示开启自定义解密;
|
|
|
+如果传入 nil 代表关闭自定义解密。
|
|
|
+
|
|
|
+@discussion
|
|
|
+该接口设置为全局设置,对所有接收视频进行解密,开启时机为加入房间前或者观众订阅流前,关闭时机为离开房间或者观众取消订阅流后,
|
|
|
+其它时机调用可能会不生效或者其它负面效果。
|
|
|
+
|
|
|
+@remarks 加解密配置
|
|
|
+
|
|
|
+*/
|
|
|
+- (void) setVideoCustomizedDecryptorDelegate:(id <RCRTCCustomizedDecryptorDelegate>) videoDecryptorDelegate;
|
|
|
+
|
|
|
+/*!
|
|
|
加入房间
|
|
|
|
|
|
@param roomId 房间 Id, 支持大小写英文字母、数字、部分特殊符号 + = - _ 的组合方式 最长 64 个字符
|
|
@@ -145,7 +211,7 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
|
@param url 主播直播的 url
|
|
|
@param liveType 当前直播类型
|
|
|
- @param completion 动作的回调, 会依次回调主播的 RCRTCLiveInputStream, 根据 streamType 区分是音频流还是视频流, 如主播发布了音视频流, 此回调会回调两次, 分别为音频的 RCRTCLiveInputStream, 和视频的 RCRTCLiveInputStream 。
|
|
|
+ @param completion 动作的回调, 会依次回调主播的 RCRTCInputStream, 根据 streamType 区分是音频流还是视频流, 如主播发布了音视频流, 此回调会回调两次, 分别为音频的 RCRTCInputStream, 和视频的 RCRTCInputStream 。
|
|
|
@discussion
|
|
|
仅直播模式可用, 作为观众, 直接观看主播的直播, 无需加入房间, 通过传入主播的 url, 仅观众端可用
|
|
|
|
|
@@ -153,32 +219,36 @@ NS_ASSUME_NONNULL_BEGIN
|
|
|
*/
|
|
|
- (void)subscribeLiveStream:(NSString *)url
|
|
|
liveType:(RCRTCLiveType)liveType
|
|
|
+ completion:(nullable RCRTCLiveCallback)completion DEPRECATED_MSG_ATTRIBUTE("已废弃, 请使用 subscribeLiveStream:streamType:completion: 替换, 当前方法会在后续版本中删除");
|
|
|
+
|
|
|
+/*!
|
|
|
+仅直播模式可用, 作为观众, 直接观看主播的直播, 无需加入房间, 通过传入主播的 url, 仅观众端可用,此接口可具体订阅音频流或视频流或大小流
|
|
|
+
|
|
|
+@param url 主播直播的 url
|
|
|
+@param streamType 需要具体订阅的媒体类型
|
|
|
+@param completion 动作的回调, 会依次回调主播的 RCRTCInputStream, 根据 streamType 区分是音频流还是视频流, 如主播发布了音视频流, 此回调会回调两次, 分别为音频的 RCRTCInputStream, 和视频的 RCRTCInputStream 。
|
|
|
+@discussion
|
|
|
+仅直播模式可用, 作为观众, 直接观看主播的直播, 无需加入房间, 通过传入主播的 url, 仅观众端可用
|
|
|
+
|
|
|
+@remarks 资源管理
|
|
|
+*/
|
|
|
+- (void)subscribeLiveStream:(NSString *)url
|
|
|
+ streamType:(RCRTCAVStreamType)streamType
|
|
|
completion:(nullable RCRTCLiveCallback)completion;
|
|
|
|
|
|
/*!
|
|
|
仅直播模式可用, 作为观众, 退出观看主播的直播, 仅观众端使用
|
|
|
- @param url 主播直播的 url, 如果为空, 则为最后一次 `subscribeLiveStream` 接口传入的 url
|
|
|
+ @param url 主播直播的 url
|
|
|
@param completion 动作的回调
|
|
|
@discussion
|
|
|
仅直播模式可用, 作为观众, 退出观看主播的直播, 仅观众端使用
|
|
|
|
|
|
@remarks 资源管理
|
|
|
*/
|
|
|
-- (void)unsubscribeLiveStream:(nullable NSString *)url
|
|
|
+- (void)unsubscribeLiveStream:(NSString *)url
|
|
|
completion:(void (^)(BOOL isSuccess, RCRTCCode code))completion;
|
|
|
|
|
|
/*!
|
|
|
- 获取当前客户端全局唯一的 ID
|
|
|
-
|
|
|
- @discussion
|
|
|
- 获取当前客户端全局唯一的 ID
|
|
|
-
|
|
|
- @remarks 资源管理
|
|
|
- @return 当前客户端全局唯一的 ID
|
|
|
- */
|
|
|
-- (NSString *)getClientId;
|
|
|
-
|
|
|
-/*!
|
|
|
获取 RongRTCLib 版本号
|
|
|
|
|
|
@discussion
|