API Reference for iOS - RTCEngine

更新时间: 2023-10-23 16:45:52

# RTCEngine

# RTCEngine

说明

RtcEngine 类包含应用程序调用的主要方法。

# setDelegate

- (void)setDelegate

说明

设置Engine回调

# setVideoProcessDelegate

- (void)setVideoProcessDelegate

说明

设置视频数据回调

# setAudioProcessDelegate

- (void)setAudioProcessDelegate

说明

设置音频数据回调

# getVersion

+ (NSString *_Nonnull)getVersion

说明

获取封装层版本号

返回

SDK版本号

# initWithToken:delegate:

- (instancetype)initWithToken:(NSString*)token delegate:(id<RTCEngineDelegate>)delegate

说明

Engine 先进房间时,使用该方法初始化引擎,要跟创建 Channel 在同一个线程中调用

参数

变量名 类型 描述
token NSString* 令牌
delegate RTCEngineDelegate 代理对象

返回

当前对象

# initWithDelegate:

- (instancetype)initWithDelegate:(id<RTCEngineDelegate>) delegate

说明

Channel 先进房间时,使用该方法初始化引擎,要跟创建 Channel 在同一个线程中调用

参数

变量名 类型 描述
delegate RTCEngineDelegate 代理对象

返回

当前对象

# resetEngienWithToken:delegate:

- (void)resetEngienWithToken:(NSString*)token delegate:(id<RTCEngineDelegate>)delegate

说明

重置Engine房间的token,在通过 initWithDelegate: 方法先进入channel房间后,可通过该方法切换engine的token

参数

变量名 类型 描述
token NSString* 令牌
delegate RTCEngineDelegate 代理对象

# initWithEnterConfig:delegate:

- (instancetype)initWithEnterConfig:(OmniRtcLiveEnterConfig*)enterConfig delegate:(id<RTCEngineDelegate>)delegate

说明

不使用token初始化

参数

变量名 类型 描述
enterConfig OmniRtcLiveEnterConfig* 自定义参数
delegate RTCEngineDelegate 代理对象

返回

当前对象

# initWithAppID:engineType:roomID:uid:delegate:

- (instancetype)initWithAppID:(NSString*)appID engineType:(RTCEngineType)engineType roomID:(NSString*)roomID uid:(NSString*)userID delegate:(id<RTCEngineDelegate>)delegate

说明

不使用token初始化(培优项目使用初始化方式)

参数

变量名 类型 描述
appID NSString* 应用程序标识
engineType NSString* 引擎类型
roomID NSString* 房间号
userID NSString* 用户ID
delegate RTCEngineDelegate 代理对象

返回

当前对象

# getEngineType

- (RTCEngineType)getEngineType

说明

获取引擎类型

返回

当前对象

# setRole:

- (int)setRole:(RTCEngineClientRole)role

说明

设置用户角色

参数

变量名 类型 描述
role RTCEngineClientRole 用户角色

返回

0表示成功

# destroy

- (void)destroy

说明

销毁引擎对象

# joinRoom

- (int)joinRoom

说明

进入房间

返回

-1: 重复进入房间会包该错误 -2: 参数无效 -3: SDK 初始化失败,请尝试重新初始化 SDK -5:调用被拒绝。可能有如下两个原因:(1)已经创建了一个同名的Channel频道;(2)已经通过 Channel 加入了一个频道,并在该 Channel 频道中发布了音视频流

# joinRoomWithRealToken:channelId:info:uid:joinSuccess:

- (int)joinRoomWithRealToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId info:(NSString* _Nullable)info uid:(NSUInteger)uid joinSuccess:(void (^_Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock

说明

进入房间

参数

变量名 类型 描述
token NSString* 验证令牌
channelId NSString* 房间号
info NSString* 自定义附加信息,一般可设置为空字符串,或频道相关信息。该信息不会传递给频道内的其他用户
uid NSUInteger 用户ID
joinSuccessBlock block 成功加入频道回调,只有设置为nil,

返回

-1:重复进入房间会包该错误 -2:参数无效 -3:SDK 初始化失败,请尝试重新初始化 SDK -5:调用被拒绝。可能有如下两个原因:(1)已经创建了一个同名的Channel频道;(2)已经通过Channel加入了一个频道,并在该Channel频道中发布了音视频流

# switchChannelWithRealToken:channelId:joinSuccess:

- (int)switchChannelWithRealToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId joinSuccess:(void (^_Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock

说明

切换房间

参数

变量名 类型 描述
token NSString* 验证令牌
channelId NSString* 房间号
joinSuccess block 成功加入频道回调,只有设置为nil,

返回

0:成功

# switchChannelWithRealToken:channelId:options:

- (int)switchChannelWithRealToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId options:(OmniRtcLiveChannelMediaOptions* _Nonnull)options

说明

切换房间

参数

变量名 类型 描述
token NSString* 验证令牌
channelId NSString* 房间号
options OmniRtcLiveChannelMediaOptions* 选项参数

返回

0:成功

# leaveRoom

- (void)leaveRoom

说明

离开房间

# enableLocalVideo:

- (void)enableLocalVideo:(BOOL)enable

说明

开关本地视频采集

参数

变量名 类型 描述
enable BOOL YES:开启本地视频采集和渲染(默认);NO:关闭使用本地摄像头设备

# enableLocalAudio:

- (void)enableLocalAudio:(BOOL)enable

说明

开关本地音频采集

参数

变量名 类型 描述
enable BOOL YES:开启本地语音采集(默认);NO:停止本地语音采集或处理

# enableVideo

- (int)enableVideo

说明

开启视频模式,可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启视频模式,在通话中调用则由音频模式切换为视频模式

返回

0:方法调用成功,<0:方法调用失败。

# disableVideo

- (int)disableVideo

说明

关闭视频,开启纯音频模式,可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频频模式

返回

0:方法调用成功,<0:方法调用失败。

# enableAudio:

- (int)enableAudio:(BOOL)enable

说明

开关启用音频模块

参数

变量名 类型 描述
enable YES:启用音频模块(默认);NO:关闭音频模块

返回

0表示成功

# resumeAudio:

- (int)resumeAudio

说明

恢复音频模块

返回

0表示成功

# muteLocalVideo:

- (void)muteLocalVideo:(BOOL)isMute

说明

取消或恢复发布本地视频流

参数

变量名 类型 描述
isMute BOOL YES:取消发布;NO:发布

# muteLocalAudio:

- (void)muteLocalAudio:(BOOL)isMute

说明

取消或恢复发布本地音频流

参数

变量名 类型 描述
isMute BOOL YES:取消发布;NO:发布

# setDefaultMuteAllRemoteVideoStreams:

- (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)isMute

说明

默认取消或恢复订阅远端用户的视频流

参数

变量名 类型 描述
isMute BOOL YES:默认取消订阅;NO:(默认)默认订阅

返回

0表示成功

# setDefaultMuteAllRemoteAudioStreams:

- (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)isMute

说明

默认取消或恢复订阅远端用户的音频流

参数

变量名 类型 描述
isMute BOOL YES:默认取消订阅;NO:(默认)默认订阅

返回

0表示成功

# muteRemoteVideo:isMute:

- (void)muteRemoteVideo:(NSUInteger)uid isMute:(BOOL)isMute

说明

取消或恢复订阅指定远端用户的视频流

参数

变量名 类型 描述
uid NSUInteger 远端用户ID
isMute BOOL YES:取消订阅;NO:(默认)订阅

# muteRemoteAudio:isMute:

- (void)muteRemoteAudio:(NSUInteger)uid isMute:(BOOL)isMute

说明

取消或恢复订阅指定远端用户的音频流

参数

变量名 类型 描述
uid NSUInteger 远端用户ID
isMute BOOL YES:取消订阅;NO:(默认)订阅

# muteAllRemoteVideo:

- (void)muteAllRemoteVideo:(BOOL)isMute

说明

取消或恢复订阅所有远端用户的视频流

参数

变量名 类型 描述
isMute BOOL YES:取消订阅;NO:(默认)订阅

# muteAllRemoteAudio:

- (void)muteAllRemoteAudio:(BOOL)isMute

说明

取消或恢复订阅所有远端用户的音频流

参数

变量名 类型 描述
isMute BOOL YES:取消订阅;NO:(默认)订阅

# setupLocalVideo:

- (void)setupLocalVideo:(OmniRtcLiveView*)view

说明

设置本地视图

参数

变量名 类型 描述
view OmniRtcLiveView 本地渲染视图

# setLocalRenderMode:

- (void)setLocalRenderMode:(RTCVideoRenderMode)mode

说明

设置本地视图显示模式

参数

变量名 类型 描述
mode RTCVideoRenderMode 视图显示模式

# setupRemoteVideo:view:

- (void)setupRemoteVideo:(NSUInteger)uid view:(OmniRtcLiveView*)view

说明

设置远端用户视图

参数

变量名 类型 描述
uid NSUInteger 远端用户ID
view OmniRtcLiveView* 渲染视图

# setupRemoteVideo:channelID:view:

- (void)setupRemoteVideo:(NSUInteger)uid channelID:(NSString*)channelID view:(OmniRtcLiveView*)view

说明

设置Channel的渲染视图,已废弃,请使用RTCChannel代替

参数

变量名 类型 描述
uid NSUInteger 远端用户ID
channelID NSString* 频道名称
view OmniRtcLiveView* 渲染视图

# setRemoteRenderMode:mode:

- (void)setRemoteRenderMode:(NSUInteger)uid mode:(RTCVideoRenderMode)mode

说明

设置远端视图显示模式

参数

变量名 类型 描述
uid NSUInteger 远端用户ID
mode RTCVideoRenderMode 视图显示模式

# setRemoteRenderMode:renderMode:mirrorMode:

- (int)setRemoteRenderMode:(NSUInteger)uid renderMode:(RTCVideoRenderMode)renderMode mirrorMode:(OmniRtcLiveVideoMirrorMode)mirrorMode

说明

设置远端视图显示模式

参数

变量名 类型 描述
uid NSUInteger 远端用户ID
mode RTCVideoRenderMode 视图显示模式
mirrorMode RTCVideoRenderMode 视图显示模式

# startPreview

- (void)startPreview

说明

开启本地视频预览

# stopPreview

- (void)stopPreview

说明

停止本地视频预览

# setPreviewResolution:

- (void)setPreviewResolution:(CGSize)previewResolution

说明

设置预览分辨率

参数

变量名 类型 描述
previewResolution CGSize 预览分辨率

# setVideoBitrate:

- (void)setVideoBitrate:(RTC_ENGINE_VIDEO_BITRATE)videoBitrate

说明

设置视频编码码率

参数

变量名 类型 描述
videoBitrate RTC_ENGINE_VIDEO_BITRATE 视频码率

# setVideoResolution:

- (void)setVideoResolution:(RTC_ENGINE_VIDEO_RESOLUTION)videoResolution

说明

设置视频编码分辨率

参数

变量名 类型 描述
videoResolution RTC_ENGINE_VIDEO_RESOLUTION 视频分辨率

# setVideoEncoderConfiguration:height:fps:bitrate:orientation:

- (void)setVideoEncoderConfiguration:(int)width height:(int)height fps:(int)fps bitrate:(int)bitrate orientation:(RTCOrientationMode)orientation

说明

设置视频编码配置

参数

变量名 类型 描述
width int 宽度
height int 高度
fps int 帧率
bitrate int 码率(kbps)
orientation RTCOrientationMode 输出方向

# switchCamera

- (void)switchCamera

说明

切换前置/后置摄像头

# getCameraPosition

- (OmniRtcLiveCameraPosition)getCameraPosition

说明

获取采集摄像头位置

返回

cameraPosition 前后置摄像头

# setCameraPosition:

- (BOOL)setCameraPosition:(OmniRtcLiveCameraPosition)cameraPosition

说明

设置采集摄像头位置

参数

变量名 类型 描述
cameraPosition OmniRtcLiveCameraPosition 前后置摄像头

返回

YES表示成功,NO表示失败

# setMirror:

- (void)setMirror:(BOOL)isMirror

说明

设置本地镜像

参数

变量名 类型 描述
isMirror BOOL 前后置摄像头

# setRemoteMirror:mirror:

- (void)setRemoteMirror:(NSUInteger)uid mirror:(BOOL)isMirror

说明

设置远端镜像

参数

变量名 类型 描述
uid NSUInteger 远端用户ID
isMirror BOOL 前后置摄像头

# setMirrorMode:

- (void)setMirrorMode:(OmniRtcLiveMirrorMode)mode

说明

设置预览的镜像模式

参数

变量名 类型 描述
mode OmniRtcLiveMirrorMode 预览的镜像模式

# setEnableSpeakerphone:

- (int)setEnableSpeakerphone:(BOOL)enableSpeaker

说明

启用/关闭扬声器播放

参数

变量名 类型 描述
enableSpeaker BOOL YES:切换到外放;NO:切换到听筒

返回

0表示成功

# isSpeakerphoneEnabled:

- (BOOL)isSpeakerphoneEnabled

说明

查询扬声器启用状态

返回

YES表示扬声器已开启,NO表示未开启

# enableLastmileProbeTest:

- (void)enableLastmileProbeTest

说明

启动网络连接质量测试,直播场景下,主播在加入频道后请勿调用该方法

# disableLastmileProbeTest:

- (void)disableLastmileProbeTest

说明

关闭网络测试

# enableExternalVideo:useTexture:

- (void)enableExternalVideo:(BOOL)enable useTexture:(BOOL)useTexture

说明

开启外部视频推流,需要在进房间之前调用

参数

变量名 类型 描述
enable BOOL YES:开启;NO:关闭
useTexture BOOL YES:使用纹理数据;NO:不使用纹理数据

# pushExternalVideoFrame:

- (void)pushExternalVideoFrame:(CMSampleBufferRef)sampleBuffer

说明

推送外部视频帧

参数

变量名 类型 描述
sampleBuffer CMSampleBufferRef 纹理数据

# pushExternalVideoFrameWithData:size:format:

- (void)pushExternalVideoFrameWithData:(NSData*)data size:(CGSize)size format:(int)format

说明

推送外部视频数据

参数

变量名 类型 描述
data NSData* 视频数据
size CGSize 数据尺寸
format int 数据格式,1:I420;2:BGRA;3:NV21;4:RGBA;7:ARGB;8:NV12(NV12只支持texture)

# enableExternalAudio:SampleRate:channelsPerFrame:

- (void)enableExternalAudio:(BOOL)enable SampleRate:(NSUInteger)sampleRate channelsPerFrame:(NSUInteger)channelsPerFrame

说明

开启外部音频推流

参数

变量名 类型 描述
enable BOOL YES:开启;NO:关闭
sampleRate NSUInteger 采样率
channelsPerFrame NSUInteger 声道数

# pushExternalAudioFrameRawData:samples:timestamp:

- (void)pushExternalAudioFrameRawData:(void *_Nonnull)data samples:(NSUInteger)samples timestamp:(NSTimeInterval)timestamp

说明

推送外部音频裸数据

参数

变量名 类型 描述
data void* 音频数据
samples NSUInteger 采样数
timestamp NSTimeInterval 时间戳

# pushExternalAudioFrameSampleBuffer:

- (void)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer

说明

推送外部音频裸数据

参数

变量名 类型 描述
sampleBuffer CMSampleBufferRef 音频数据

# setAudioBitrate:

- (int)setAudioBitrate:(int)bitrate

说明

设置音频编码码率

参数

变量名 类型 描述
bitrate int 码率

返回

0表示成功

# setRecordingAudioParameters:channel:

- (int)setRecordingAudioParameters:(NSUInteger)sample channel:(NSUInteger)nchannel

说明

设置音频采集参数

参数

变量名 类型 描述
sample NSUInteger 采样率
nchannel NSUInteger 通道数

返回

0表示成功

# setRecordingAudioParameters:channel:mode:samplesPerCall:

- (int)setRecordingAudioParameters:(NSUInteger)sampleRate channel:(NSUInteger)channel mode:(OmniRtcLiveAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall

说明

设置音频采集参数

参数

变量名 类型 描述
sampleRate NSUInteger 采样率
channel NSUInteger 通道数
mode OmniRtcLiveAudioRawFrameOperationMode 读写模式
samplesPerCall NSInteger 每次回调的采样数

返回

0表示成功

# setPlaybackAudioParameters:channel:mode:samplesPerCall:

- (int)setPlaybackAudioParameters:(NSUInteger)sample channel:(NSUInteger)nchannel mode:(OmniRtcLiveAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samples

说明

设置音频播放参数

参数

变量名 类型 描述
sample NSUInteger 采样率
nchannel NSUInteger 通道数
mode OmniRtcLiveAudioRawFrameOperationMode 读写模式
samplesPerCall NSInteger 每次回调的采样数

返回

0表示成功

# adjustPlaybackSignalVolume:

- (int)adjustPlaybackSignalVolume:(NSInteger)volume

说明

调节播放音量,volume 范围是[0,400],注意不能跟 setVolume 混用

参数

变量名 类型 描述
volume NSUInteger 音量值,范围是[0,400]

返回

0表示成功

# setVolume:volume:

- (int)setVolume:(NSString* _Nonnull)userId volume:(NSUInteger)volume

说明

设置指定用户播放音量,注意不能跟 setVolume 混用

参数

变量名 类型 描述
userId NSString* 用户ID
volume NSUInteger 音量值,范围是[0,400]

返回

0表示成功

# setVolume:volume:channelID:

- (int)setVolume:(NSString* _Nonnull)userId volume:(NSUInteger)volume channelID:(NSString* _Nonnull)channelID

说明

设置 Channel 音量,已废弃,请使用RTCChannel代替

参数

变量名 类型 描述
userId NSString* 用户ID
volume NSUInteger 音量值,范围是[0,400]
channelID NSString* 频道名称

返回

0表示成功

# setAllRemoteVolume:

- (int)setAllRemoteVolume:(NSUInteger)volume

说明

设置远端所有用户的播放音量

参数

变量名 类型 描述
volume NSUInteger 音量值,范围是[0,400]

返回

0表示成功

# setLogFileWithPath:logLevel:

- (int)setLogFileWithPath:(NSString* _Nonnull)logFilePath logLevel:(RTCEngineLogLevelType)logLevel

说明

设置日志的文件路径和等级

参数

变量名 类型 描述
logFilePath NSString* 日志文件路径
logLevel RTCEngineLogLevelType 日志等级

返回

0表示成功

# setLimitLogFileSize:

- (int)setLimitLogFileSize:(NSUInteger)fileSizeInKBytes

说明

设置日志大小

参数

变量名 类型 描述
fileSizeInKBytes NSUInteger 日志大小,单位KB

返回

0表示成功

# setTimeStamp:

- (int)setTimeStamp:(long long)timeStamp

说明

设置时间戳,返回 -2 表示创建发送SEI的数据通道失败

参数

变量名 类型 描述
timeStamp long YES表示开启;NO表示不开启

返回

0表示成功

# getTimeStampWithUid:

- (long long)getTimeStampWithUid:(NSInteger)uid

说明

获取时间戳

参数

变量名 类型 描述
uid NSInteger 远端用户ID

返回

时间戳

# sendStreamMessage:timeStamp:

- (int)sendStreamMessage:(NSData*)data timeStamp:(long long)timeStamp

说明

发送自定义消息

参数

变量名 类型 描述
data NSData* 自定义消息数据
timeStamp long 时间戳

返回

0表示成功

# addPublishStreamUrl:transCoding:

- (int)addPublishStreamUrl:(NSString* _Nullable)streamUrl transCoding:(BOOL)transCode

说明

添加 rtmp 推流地址

参数

变量名 类型 描述
streamUrl NSString* 推流地址
transCode BOOL 是否启用转码,YES表示转码,NO表示不转吗

返回

0表示成功

# removePublishStreamUrl:

- (int)removePublishStreamUrl:(NSString* _Nullable)streamUrl

说明

删除 rtmp 推流地址,不要 removePublishStreamUrl 以后马上调用 addPublishStreamUrl,一定要等停止推流成功后再重新推流

参数

变量名 类型 描述
streamUrl NSString* 推流地址

返回

0表示成功

# setRtmpConfig:

- (int)setRtmpConfig:(RTCRtmpConfig* _Nullable)rtmpConfig

说明

设置rtmp流的配置信息

参数

变量名 类型 描述
rtmpConfig RTCRtmpConfig* 推流配置

返回

0表示成功

# startPlayMusic:loopback:replace:cycle:

- (int)startPlayMusic:(NSString* _Nullable)filePath loopback:(BOOL)loopback replace:(BOOL)replace cycle:(NSInteger)cycle

说明

音乐文件播放及混音设置,支持以下音频格式: mp3,aac,m4a,3gp,wav。通过 rtcEngine:playMusicStateChanged:errorCode: 返回播放状态,不要在主线程调用,不能多线程调用,播放网络音频会存在卡住线程问题,建议不要播放网络音频,网络音频是系统API实现,控制权限少

参数

变量名 类型 描述
filePath NSString* 播放文件的路径
loopback BOOL YES:只有本地可以听到混音或替换后的音频流;NO:本地和对方都可以听到混音或替换后的音频流
replace BOOL YES:只推送设置的本地音频文件或者线上音频文件,不传输麦克风收录的音频;NO:音频文件内容将会和麦克风采集的音频流进行混音
cycle NSInteger 正整数:循环的次数;-1:无限循环

返回

0表示成功

# stopPlayMusic

- (int)stopPlayMusic

说明

停止播放音乐文件,不要在主线程调用,不能多线程调用,播放网络音频会存在卡住线程问题,建议不要播放网络音频,网络音频是系统API实现,控制权限少

返回

0表示成功

# pauseAudioMusic

- (int)pauseAudioMusic

说明

暂停播放,不要在主线程调用,不能多线程调用,播放网络音频会存在卡住线程问题,建议不要播放网络音频,网络音频是系统API实现,控制权限少

返回

0表示成功

# resumeAudioMusic

- (int)resumeAudioMusic

说明

恢复播放,不要在主线程调用,不能多线程调用,播放网络音频会存在卡住线程问题,建议不要播放网络音频,网络音频是系统API实现,控制权限少

返回

0表示成功

# getAudioMusicDuration

- (int)getAudioMusicDuration

说明

获取总时长,单位ms,不要在主线程调用,不能多线程调用,播放网络音频会存在卡住线程问题,建议不要播放网络音频,网络音频是系统API实现,控制权限少

返回

0表示成功

# getAudioMusicCurrentPosition

- (int)getAudioMusicCurrentPosition

说明

获取播放位置,单位ms,不要在主线程调用,不能多线程调用,播放网络音频会存在卡住线程问题,建议不要播放网络音频,网络音频是系统API实现,控制权限少

返回

0表示成功

# setAudioMusicPosition:

- (int)setAudioMusicPosition:(NSInteger)pos

说明

设置播放位置,单位ms,不要在主线程调用,不能多线程调用,播放网络音频会存在卡住线程问题,建议不要播放网络音频,网络音频是系统API实现,控制权限少

参数

变量名 类型 描述
pos NSInteger 播放位置

返回

0表示成功

# adjustPlayMusicVolume:

- (int)adjustPlayMusicVolume:(NSInteger)volume

说明

调整播放音乐的音量,音乐文件播放音量范围为 0~100,默认 100 为原始文件音量,不要在主线程调用,不能多线程调用,播放网络音频会存在卡住线程问题,建议不要播放网络音频,网络音频是系统API实现,控制权限少

参数

变量名 类型 描述
volume NSInteger 播放音量[0,100]

返回

0表示成功

# obtainSDKVersion:

- (NSString* _Nonnull)obtainSDKVersion

说明

获取SDK版本号

返回

SDK版本号

# enableContentInspect:interval:

- (int)enableContentInspect:(BOOL)enable interval:(NSInteger)interval

说明

鉴黄接口,最小时间间隔为5秒

参数

变量名 类型 描述
enable BOOL 是否开启截图上传,YES表示开启,NO表示不开启
interval NSInteger 截图间隔

返回

0表示成功

# contentInspectExtra:inspectMode:

- (int)contentInspectExtra:(NSString*)arguments inspectMode:(NSArray<RTCInspectModeConfig*>*)modes

说明

鉴黄参数,开启的功能必须同时设置,比如截图鉴黄功能和AI监课功能要一起设置,不能单次设置

参数

变量名 类型 描述
arguments NSString* 自定义参数
modes NSArray<RTCInspectModeConfig*>*) 截图上传配置

返回

0表示成功

# setRemoteVideoStream:type:

- (int)setRemoteVideoStream:(NSUInteger)uid type:(RTCVideoStreamType)streamType

说明

切换大小流,设置大小流可能会导致接收到的码率、帧率、分辨率都会变化

参数

变量名 类型 描述
uid NSUInteger 远端用户ID
streamType RTCVideoStreamTyp 流类型

返回

0表示成功

# switchAudioMode:

- (int)switchAudioMode:(RTCAudioMode)mode

说明

切换媒体音量和通话音量(根据是否在投屏决定是否启用)

参数

变量名 类型 描述
mode RTCAudioMode 通话模式

返回

0表示成功

# updateOutputPixelFormat:

- (int)updateOutputPixelFormat:(RTCOutputPixelFormat)pixelFormat

说明

设置回调的裸数据格式,需要在进房间之前设置,返回-1表示设置失败,使用默认值 RTCOutputPixelFormatI420

参数

变量名 类型 描述
pixelFormat RTCOutputPixelFormat 输出裸数据格式

返回

0表示成功

# adjustRecordingSignalVolume:

- (int)adjustRecordingSignalVolume:(NSInteger)volume

说明

调节麦克风采集信号音量,需要在进房间之前设置,返回-1表示设置失败,使用默认值 RTCOutputPixelFormatI420

参数

变量名 类型 描述
volume NSInteger 麦克风采集信号音量。取值范围为

返回

0表示成功

# enable3Amodule:

- (int)enable3Amodule:(BOOL)enable

说明

是否开启3A模块

参数

变量名 类型 描述
enable BOOL 是否开启3A,YES表示开启,NO表示不开启

返回

0表示成功

# startChannelMediaRelay:

- (int)startChannelMediaRelay:(RTCChannelMediaRelayConfiguration *_Nonnull)config

说明

跨频道转发,跨频道媒体流转发最多支持 4 个目标频道,请在成功加入频道后调用该方法,成功调用该方法后,若你想再次调用该方法,必须先调用 stopChannelMediaRelay 方法退出当前的转发状态,成功调用该方法后,SDK 会触发 channelMediaRelayStateDidChange 和 didReceiveChannelMediaRelayEvent 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。如果 channelMediaRelayStateDidChange 回调报告 RTCChannelMediaRelayStateRunning(2) 和 RTCChannelMediaRelayStateIdle(0),且 didReceiveChannelMediaRelayEvent 回调报告 RTCChannelMediaRelayEventSentToDestinationChannel(4),则表示 SDK 开始在源频道和目标频道之间转发媒体流。如果 channelMediaRelayStateDidChange 回调报告 RTCChannelMediaRelayStateFailure(3),则表示跨频道媒体流转发出现异常。

参数

变量名 类型 描述
config RTCChannelMediaRelayConfiguration* 转推配置

返回

0表示成功

# updateChannelMediaRelay:

- (int)updateChannelMediaRelay:(RTCChannelMediaRelayConfiguration * _Nonnull)config

说明

更新媒体流转发的频道,跨频道媒体流转发最多支持 4 个目标频道,请在 startChannelMediaRelay 方法后调用该方法,更新媒体流转发的频道,成功调用该方法后,SDK 会触发 didReceiveChannelMediaRelayEvent 回调,并在回调中报告状态码 RTCChannelMediaRelayEventUpdateDestinationChannel(7)

参数

变量名 类型 描述
config RTCChannelMediaRelayConfiguration* 转推配置

返回

0表示成功

# stopChannelMediaRelay

- (int)stopChannelMediaRelay

说明

停止跨频道媒体流转发,成功调用该方法后,SDK 会触发 channelMediaRelayStateDidChange 回调。如果报告 RTCChannelMediaRelayStateIdle(0) 和 RTCChannelMediaRelayErrorNone(0),则表示已停止转发媒体流。如果该方法调用不成功,SDK 会触发 channelMediaRelayStateDidChange 回调,并报告状态码 RTCChannelMediaRelayErrorServerNoResponse(2) 或 RTCChannelMediaRelayEventUpdateDestinationChannelRefused(8)。你可以调用 leaveChannel 方法离开频道,跨频道媒体流转发会自动停止。

返回

0表示成功

# setRemoteUserPriority:type:

- (int)setRemoteUserPriority:(NSUInteger)uid type:(RTCUserPriority)priority

说明

设置远端用户流的优先级

参数

变量名 类型 描述
uid NSUInteger 远端用户的ID
type RTCUserPriority 远端用户的优先级

返回

0表示成功

# setExternalAudioSourceVolume:volume:

- (void)setExternalAudioSourceVolume:(OmniRtcLiveAudioExternalSourceId)sourceId volume:(NSUInteger)volume

说明

设置外部音频的音量

参数

变量名 类型 描述
sourceId OmniRtcLiveAudioExternalSourceId 音频合入方式
volume NSUInteger 音量值

返回

0表示成功

# pushExternalAudioFrameRawData:sourceId:

- (BOOL)pushExternalAudioFrameRawData:(OmniRtcLiveAudioFrame* _Nonnull)frame sourceId:(OmniRtcLiveAudioExternalSourceId)sourceId

说明

推送外部音频合入

参数

变量名 类型 描述
frame OmniRtcLiveAudioFrame* 音频数据
sourceId OmniRtcLiveAudioExternalSourceId 音频合入方式

返回

YES表示成功

# pushExternalAudioFrameSampleBuffer:sourceId:

- (BOOL)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef)sampleBuffer sourceId:(OmniRtcLiveAudioExternalSourceId)sourceId

说明

推送外部音频合入

参数

变量名 类型 描述
sampleBuffer CMSampleBufferRef 音频数据
sourceId OmniRtcLiveAudioExternalSourceId 音频合入方式

返回

YES表示成功

# setBusinessUserRole:sourceId:

- (int)setBusinessUserRole:(OmniRtcLiveBusinessUserRole)role

说明

设置业务类型

参数

变量名 类型 描述
role OmniRtcLiveBusinessUserRole 业务类型

返回

YES表示成功

# setRemoteSubscribeFallbackOption:

- (int)setRemoteSubscribeFallbackOption:(OmniRtcLiveStreamFallbackOptions)option

说明

设置自动切换大小流选项

参数

变量名 类型 描述
option OmniRtcLiveStreamFallbackOptions 切换方式,https://wiki.zhiyinlou.com/pages/viewpage.action?pageId=155224972

返回

0表示成功

# applyRemoteStreamSubscribeAdvice:type:

- (int)applyRemoteStreamSubscribeAdvice:(NSUInteger)userID type:(OmniRtcLiveSubscriptionStreamType)type

说明

手动切换大小流

参数

变量名 类型 描述
userID NSUInteger 目标用户ID
type OmniRtcLiveSubscriptionStreamType 目标流类型

返回

0表示成功

# takeLocalViewSnapshot

- (BOOL)takeLocalViewSnapshot

说明

截取本地预览视频图像

返回

YES表示成功

# takeRemoteViewSnapshot:

- (BOOL)takeRemoteViewSnapshot:(NSUInteger)uid

说明

截取远端用户视频图像

参数

变量名 类型 描述
uid NSUInteger 用户ID

返回

YES表示成功

# setAudioEncoderConfiguration:processMode:

- (int)setAudioEncoderConfiguration:(NSInteger)bitrate processMode:(RTCAudioProcessMode)mode

说明

设置音频码率和处理模式

参数

变量名 类型 描述
bitrate NSInteger 码率,单位kbps
mode RTCAudioProcessMode 音频处理模式

返回

0表示成功

# getErrorDescription:

- (NSString*_Nullable)getErrorDescription:(NSInteger)code

说明

根据错误码获取对应的错误描述

参数

变量名 类型 描述
code NSInteger 错误码

返回

0表示成功

# getConnectionState

- (OmniRtcLiveConnectionStateType)getConnectionState

说明

获取链接状态

返回

链接状态

# setAudioProfile:scenario:

- (int)setAudioProfile:(OmniRtcLiveAudioProfile)profile scenario:(OmniRtcLiveAudioScenario)scenario

说明

设置音频配置

参数

变量名 类型 描述
profile OmniRtcLiveAudioProfile 音频配置
scenario OmniRtcLiveAudioScenario 音频场景

返回

0表示成功