函数列表 | 描述 |
创建 TRTCCloud 实例(单例模式) | |
销毁 TRTCCloud 实例(单例模式) | |
添加 TRTC 事件回调 | |
移除 TRTC 事件回调 | |
设置驱动 TRTCCloudDelegate 事件回调的队列 | |
进入房间 | |
离开房间 | |
切换角色 | |
切换角色(支持设置权限位) | |
切换房间 | |
请求跨房通话 | |
退出跨房通话 | |
设置订阅模式(需要在进入房前设置才能生效) | |
创建子房间实例(用于多房间并发观看) | |
销毁子房间实例 | |
更改跨房主播在本房间的上行能力 | |
开始发布媒体流 | |
更新发布媒体流 | |
停止发布媒体流 | |
开启本地摄像头的预览画面(移动端) | |
开启本地摄像头的预览画面(桌面端) | |
更新本地摄像头的预览画面 | |
停止摄像头预览 | |
暂停/恢复发布本地的视频流 | |
设置本地画面被暂停期间的替代图片 | |
订阅远端用户的视频流,并绑定视频渲染控件 | |
更新远端用户的视频渲染控件 | |
停止订阅远端用户的视频流,并释放渲染控件 | |
停止订阅所有远端用户的视频流,并释放全部渲染资源 | |
暂停/恢复订阅远端用户的视频流 | |
暂停/恢复订阅所有远端用户的视频流 | |
设置视频编码器的编码参数 | |
设置网络质量控制的相关参数 | |
设置本地画面的渲染参数 | |
设置远端画面的渲染模式 | |
开启大小画面双路编码模式 | |
切换指定远端用户的大小画面 | |
视频画面截图 | |
视频画面透视校正坐标设置 | |
设置重力感应的适配模式(11.7 及以上版本) | |
开启本地音频的采集和发布 | |
停止本地音频的采集和发布 | |
暂停/恢复发布本地的音频流 | |
暂停/恢复播放远端的音频流 | |
暂停/恢复播放所有远端用户的音频流 | |
设置音频路由 | |
设定某一个远端用户的声音播放音量 | |
设定本地音频的采集音量 | |
获取本地音频的采集音量 | |
设定远端音频的播放音量 | |
获取远端音频的播放音量 | |
启用音量大小提示 | |
开始录音 | |
停止录音 | |
开启本地媒体录制 | |
停止本地媒体录制 | |
设置远端音频流智能并发播放策略 | |
启用 3D 音效 | |
设置 3D 音效中自身坐标及朝向信息 | |
设置 3D 音效中远端用户坐标信息 | |
设置指定用户所发出声音的可被接收范围 | |
获取设备管理类(TXDeviceManager) | |
获取美颜管理类(TXBeautyManager) | |
添加水印 | |
获取音效管理类(TXAudioEffectManager) | |
开启系统声音采集(iOS 端暂未支持) | |
停止系统声音采集(iOS 端暂未支持) | |
设置系统声音的采集音量 | |
开始应用内的屏幕分享(仅支持 iOS 13.0 及以上系统) | |
开始全系统的屏幕分享(仅支持 iOS 11.0 及以上系统) | |
启动屏幕分享 | |
停止屏幕分享 | |
暂停屏幕分享 | |
恢复屏幕分享 | |
枚举可分享的屏幕和窗口(该接口仅支持 Mac OS 系统) | |
选取要分享的屏幕或窗口(该接口仅支持 Mac OS 系统) | |
设置屏幕分享(即辅路)的视频编码参数(桌面系统和移动系统均已支持) | |
设置屏幕分享时的混音音量大小(该接口仅支持桌面系统) | |
将指定窗口加入屏幕分享的排除列表中(该接口仅支持桌面系统) | |
将指定窗口从屏幕分享的排除列表中移除(该接口仅支持桌面系统) | |
将所有窗口从屏幕分享的排除列表中移除(该接口仅支持桌面系统) | |
将指定窗口加入屏幕分享的包含列表中(该接口仅支持桌面系统) | |
将指定窗口从屏幕分享的包含列表中移除(该接口仅支持桌面系统) | |
将全部窗口从屏幕分享的包含列表中移除(该接口仅支持桌面系统) | |
启用/关闭视频自定义采集模式 | |
向 SDK 投送自己采集的视频帧 | |
启用音频自定义采集模式 | |
向 SDK 投送自己采集的音频数据 | |
启用/关闭自定义音轨 | |
向 SDK 混入自定义音轨 | |
设置推流时混入外部音频的推流音量和播放音量 | |
生成自定义采集时的时间戳 | |
设置第三方美颜的视频数据回调 | |
设置本地视频自定义渲染回调 | |
设置远端视频自定义渲染回调 | |
设置音频数据自定义回调 | |
设置本地麦克风采集出的音频帧回调格式 | |
设置经过前处理后的本地音频帧回调格式 | |
设置最终要由系统播放出的音频帧回调格式 | |
开启音频自定义播放 | |
获取可播放的音频数据 | |
使用 UDP 通道发送自定义消息给房间内所有用户 | |
使用 SEI 通道发送自定义消息给房间内所有用户 | |
开始进行网速测试(进入房间前使用) | |
停止网络测速 | |
获取 SDK 版本信息 | |
设置 Log 输出级别 | |
启用/禁用控制台日志打印 | |
启用/禁用日志的本地压缩 | |
设置本地日志的保存路径 | |
设置日志回调 | |
显示仪表盘 | |
设置仪表盘的边距 | |
调用实验性接口 | |
开启或关闭媒体流私有加密 |
参数 | 描述 |
context | 仅适用于 Android 平台,SDK 内部会将其转化为 Android 平台的 ApplicationContext 用于调用 Android System API。 如果传入的 context 参数为空,SDK 内部会自动获取当前进程的 ApplicationContext。 |
- (void)addDelegate: |
- (void)enterRoom: | |
appScene: |
参数 | 描述 |
param | |
scene |
-(void)switchRole: |
主播
和 观众
两种角色之间来回切换。参数 | 描述 |
role | 角色,默认为 主播。 TRTCRoleAnchor :主播,可以发布自己的音视频,同一个房间里最多支持50个主播同时发布音视频。 TRTCRoleAudience :观众,不能发布自己的音视频流,只能观看房间中其他主播的音视频。如果要发布自己的音视频,需要先通过 switchRole 切换成 主播,同一个房间内同时最多可以容纳 10 万名观众。 |
-(void)switchRole: | |
privateMapKey: | (NSString*)privateMapKey |
主播
和 观众
两种角色之间来回切换。参数 | 描述 |
privateMapKey | 用于权限控制的权限票据,当您希望某个房间只能让特定的 userId 进入或者上行视频时,需要使用 privateMapKey 进行权限保护。 仅建议有高级别安全需求的客户使用,更多详情请参见 开启高级权限控制。 |
role | 角色,默认为“主播”: TRTCRoleAnchor :主播,可以发布自己的音视频,同一个房间里最多支持50个主播同时发布音视频。 TRTCRoleAudience :观众,不能发布自己的音视频流,只能观看房间中其他主播的音视频。如果要发布自己的音视频,需要先通过 switchRole 切换成“主播”,同一个房间内同时最多可以容纳 10 万名观众。 |
- (void)switchRoom: |
参数 | 描述 |
config |
- (void)connectOtherRoom: | (NSString *)param |
NSMutableDictionaryjsonDict = [[NSMutableDictionary alloc] init];[jsonDict setObject:@(102) forKey:@"roomId"];[jsonDict setObject:@"userB" forKey:@"userId"];NSData* jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:NSJSONWritingPrettyPrinted error:nil];NSString* jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];[trtc connectOtherRoom:jsonString];
NSMutableDictionaryjsonDict = [[NSMutableDictionary alloc] init];[jsonDict setObject:@"102" forKey:@"strRoomId"];[jsonDict setObject:@"userB" forKey:@"userId"];NSData* jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:NSJSONWritingPrettyPrinted error:nil];NSString* jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];[trtc connectOtherRoom:jsonString];
参数 | 描述 |
param | 需要你传入 JSON 格式的字符串参数,roomId 代表数字格式的房间号,strRoomId 代表字符串格式的房间号,userId 代表目标主播的用户 ID。 |
- (void)setDefaultStreamRecvMode: | (BOOL)autoRecvAudio |
video: | (BOOL)autoRecvVideo |
参数 | 描述 |
autoRecvAudio | YES:自动订阅音频;NO:需手动调用 muteRemoteAudio(NO) 订阅音频。默认值:YES。 |
autoRecvVideo | YES:自动订阅视频;NO:需手动调用 startRemoteView 订阅视频。默认值:YES。 |
//In the small room that needs interaction, enter the room as an anchor and push audio and video streamsTRTCCloud *mainCloud = [TRTCCloud sharedInstance];TRTCParams *mainParams = [[TRTCParams alloc] init];//Fill your paramsmainParams.role = TRTCRoleAnchor;[mainCloud enterRoom:mainParams appScene:TRTCAppSceneLIVE)];//...[mainCloud startLocalPreview:YES view:videoView];[mainCloud startLocalAudio:TRTCAudioQualityDefault];//In the large room that only needs to watch, enter the room as an audience and pull audio and video streamsTRTCCloud *subCloud = [mainCloud createSubCloud];TRTCParams *subParams = [[TRTCParams alloc] init];//Fill your paramssubParams.role = TRTCRoleAudience;[subCloud enterRoom:subParams appScene:TRTCAppSceneLIVE)];//...[subCloud startRemoteView:userId streamType:TRTCVideoStreamTypeBig view:videoView];//...//Exit from new room and release it.[subCloud exitRoom];[mainCloud destroySubCloud:subCloud];
- (void)updateOtherRoomForwardMode: | (NSString *)param |
{"roomId":102,"userId":"userC","muteAudio":false,"muteVideo":true,"muteSubStream":false}
{"strRoomId":"102","userId":"userC","muteAudio":false,"muteVideo":true,"muteSubStream":false}
参数 | 描述 |
param | 需要你传入 JSON 格式的字符串参数,roomId 代表数字格式的房间号,strRoomId 代表字符串格式的房间号,userId 代表目标主播的用户 ID,muteAudio、muteVideo、muteSubStream均为可选项,分表代表禁止或允许跨房主播发布音频/主路视频/辅路视频的能力。 |
- (void)startPublishMediaStream: | |
encoderParam: | |
mixingConfig: |
参数 | 描述 |
config | |
params | 媒体流编码输出参数,具体配置参考 TRTCStreamEncoderParam。转码和回推到 TRTC 房间中时为必填项,您需要指定您预期的转码输出参数。在转推时,为了更好的转推稳定性和 CDN 兼容性,也建议您进行配置。 |
target |
- (void)updatePublishMediaStream: | (NSString *)taskId |
publishTarget: | |
encoderParam: | |
mixingConfig: |
参数 | 描述 |
config | |
params | 媒体流编码输出参数,具体配置参考 TRTCStreamEncoderParam。转码和回推到 TRTC 房间中时为必填项,您需要指定您预期的转码输出参数。在转推时,为了更好的转推稳定性和 CDN 兼容性,也建议您进行配置。 |
target | |
taskId |
- (void)stopPublishMediaStream: | (NSString *)taskId |
参数 | 描述 |
taskId |
- (void)startLocalPreview: | (BOOL)frontCamera |
view: | (nullable TXView *)view |
参数 | 描述 |
frontCamera | YES:前置摄像头;NO:后置摄像头。 |
view | 承载视频画面的控件。 |
- (void)startLocalPreview: | (nullable TXView *)view |
参数 | 描述 |
view | 承载视频画面的控件。 |
- (void)updateLocalView: | (nullable TXView *)view |
- (void)muteLocalVideo: | |
mute: | (BOOL)mute |
参数 | 描述 |
mute | YES:暂停;NO:恢复。 |
streamType |
- (void)setVideoMuteImage: | (nullable TXImage *)image |
fps: | (NSInteger)fps |
参数 | 描述 |
fps | 设置替代图片帧率,最小值为5,最大值为10,默认5。 |
image | 设置替代图片,空值代表在 muteLocalVideo 之后不再发送视频流数据,默认值为空。 |
- (void)startRemoteView: | (NSString *)userId |
streamType: | |
view: | (nullable TXView *)view |
参数 | 描述 |
streamType | 指定要观看 userId 的视频流类型。 高清大画面:TRTCVideoStreamTypeBig。 低清小画面:TRTCVideoStreamTypeSmall(需要远端用户通过 enableEncSmallVideoStream 开启双路编码后才有效果)。 辅流画面(常用于屏幕分享):TRTCVideoStreamTypeSub。 |
userId | 指定远端用户的 ID。 |
view | 用于承载视频画面的渲染控件。 |
- (void)updateRemoteView: | (nullable TXView *)view |
streamType: | |
forUser: | (NSString *)userId |
参数 | 描述 |
streamType | |
userId | 指定远端用户的 ID。 |
view | 承载视频画面的控件。 |
- (void)stopRemoteView: | (NSString *)userId |
streamType: |
参数 | 描述 |
streamType | 指定要观看 userId 的视频流类型。 高清大画面:TRTCVideoStreamTypeBig。 低清小画面:TRTCVideoStreamTypeSmall。 辅流画面(常用于屏幕分享):TRTCVideoStreamTypeSub。 |
userId | 指定远端用户的 ID。 |
- (void)muteRemoteVideoStream: | (NSString*)userId |
streamType: | |
mute: | (BOOL)mute |
参数 | 描述 |
mute | 是否暂停接收。 |
streamType | 要暂停/恢复的视频流类型。 高清大画面:TRTCVideoStreamTypeBig。 低清小画面:TRTCVideoStreamTypeSmall。 辅流画面(常用于屏幕分享):TRTCVideoStreamTypeSub。 |
userId | 指定远端用户的 ID。 |
- (void)muteAllRemoteVideoStreams: | (BOOL)mute |
参数 | 描述 |
mute | 是否暂停接收。 |
- (void)setVideoEncoderParam: |
参数 | 描述 |
param |
- (void)setNetworkQosParam: |
参数 | 描述 |
param |
- (void)setLocalRenderParams: |
- (void)setRemoteRenderParams: | (NSString *)userId |
streamType: | |
params: |
参数 | 描述 |
params | |
streamType | |
userId | 指定远端用户的 ID。 |
- (int)enableEncSmallVideoStream: | (BOOL)enable |
withQuality: |
参数 | 描述 |
enable | 是否开启小画面编码,默认值:NO。 |
smallVideoEncParam | 小流的视频参数。 |
- (void)setRemoteVideoStreamType: | (NSString*)userId |
type: |
参数 | 描述 |
streamType | 视频流类型,即选择看大画面还是小画面,默认为大画面。 |
userId | 指定远端用户的 ID。 |
- (void)snapshotVideo: | (nullable NSString *)userId |
type: | |
sourceType: |
参数 | 描述 |
sourceType | 画面来源,可选择截取视频流画面(TRTCSnapshotSourceTypeStream)、视频渲染画面(TRTCSnapshotSourceTypeView)或 采集画面(TRTCSnapshotSourceTypeCapture),采集画面截图更清晰。 |
streamType | |
userId | 用户 ID,如指定空置表示截取本地的视频画面。 |
- (void)setPerspectiveCorrectionWithUser: | (nullable NSString *)userId |
srcPoints: | (nullable NSArray *)srcPoints |
dstPoints: | (nullable NSArray *)dstPoints |
参数 | 描述 |
dstPoints | 期望校正到的目标坐标区域4个顶点坐标,需按照左上、左下、右上、右下的顺序传入,所有的坐标需要根据画面宽高做 [0,1] 区间的归一化;传 null 则停止透视校正。 |
srcPoints | 原始画面坐标区域4个顶点坐标,需按照左上、左下、右上、右下的顺序传入,所有的坐标需要根据画面宽高做 [0,1] 区间的归一化; 传 null 则停止透视校正。 |
userId | 用户 ID,如指定空值表示校正本地的视频画面。 |
- (void)setGravitySensorAdaptiveMode: |
- (void)startLocalAudio: |
参数 | 描述 |
quality | 声音音质 TRTCAudioQualitySpeech,流畅:单声道;音频裸码率:18kbps;适合语音通话为主的场景,比如在线会议,语音通话。 TRTCAudioQualityDefault,默认:单声道;音频裸码率:50kbps;SDK 默认的音频质量,如无特殊需求推荐选择之。 TRTCAudioQualityMusic,高音质:双声道 + 全频带;音频裸码率:128kbps;适合需要高保真传输音乐的场景,比如在线K歌、音乐直播等。 |
- (void)muteLocalAudio: | (BOOL)mute |
参数 | 描述 |
mute | YES:静音;NO:恢复。 |
- (void)muteRemoteAudio: | (NSString *)userId |
mute: | (BOOL)mute |
参数 | 描述 |
mute | YES:静音;NO:取消静音。 |
userId | 用于指定远端用户的 ID。 |
- (void)muteAllRemoteAudio: | (BOOL)mute |
参数 | 描述 |
mute | YES:静音;NO:取消静音。 |
- (void)setAudioRoute: |
参数 | 描述 |
route |
- (void)setRemoteAudioVolume: | (NSString *)userId |
volume: | (int)volume |
参数 | 描述 |
userId | 用于指定远端用户的 ID。 |
volume | 音量大小,取值范围为0 - 100,默认值:100。 |
- (void)setAudioCaptureVolume: | (NSInteger)volume |
参数 | 描述 |
volume | 音量大小,取值范围为0 - 100;默认值:100。 |
- (void)setAudioPlayoutVolume: | (NSInteger)volume |
参数 | 描述 |
volume | 音量大小,取值范围为0 - 100,默认值:100。 |
- (void)enableAudioVolumeEvaluation: | (BOOL)enable |
withParams: |
参数 | 描述 |
enable | 是否启用音量提示,默认为关闭状态。 |
params |
- (int)startAudioRecording: |
参数 | 描述 |
param |
- (void)startLocalRecording: |
- (void)setRemoteAudioParallelParams: |
- (void)enable3DSpatialAudioEffect: | (BOOL)enabled |
参数 | 描述 |
enabled | 是否启用 3D 音效,默认为关闭状态。 |
参数 | 描述 |
axisForward | 自身坐标系前轴在世界坐标系中的单位向量,三个值依次表示前、右、上坐标值。 |
axisRight | 自身坐标系右轴在世界坐标系中的单位向量,三个值依次表示前、右、上坐标值。 |
axisUp | 自身坐标系上轴在世界坐标系中的单位向量,三个值依次表示前、右、上坐标值。 |
position | 自身在世界坐标系中的坐标,三个值依次表示前、右、上坐标值。 |
- (void)updateRemote3DSpatialPosition: | (NSString *)userId |
参数 | 描述 |
position | 该远端用户在世界坐标系中的坐标,三个值依次表示前、右、上坐标值。 |
userId | 指定远端用户的 ID。 |
- (void)set3DSpatialReceivingRange: | (NSString *)userId |
range: | (NSInteger)range |
参数 | 描述 |
range | 声音最大可被接收范围。 |
userId | 指定远端用户的 ID。 |
- (void)setWatermark: | (nullable TXImage*)image |
streamType: | |
rect: | (CGRect)rect |
参数 | 描述 |
image | 水印图片,必须使用透明底色的 png 格式。 |
rect | 水印相对于编码分辨率的归一化坐标,x,y,width,height 取值范围0 - 1。 |
streamType |
- (void)setSystemAudioLoopbackVolume: | (uint32_t)volume |
参数 | 描述 |
volume | 设置的音量大小,范围是:[0 ~ 150],默认值为100。 |
- (void)startScreenCaptureInApp: | |
encParam: |
参数 | 描述 |
encParams | 设置屏幕分享时的视频编码参数,推荐采用上述推荐配置。 如果您指定 encParams 为 nil,SDK 会使用您在调用 startScreenCapture 接口之前所设置的视频编码参数。 |
streamType | 屏幕分享使用的线路,可以设置为主路(TRTCVideoStreamTypeBig)或者辅路(TRTCVideoStreamTypeSub)。 |
- (void)startScreenCaptureByReplaykit: | |
encParam: | |
appGroup: | (NSString *)appGroup |
参数 | 描述 |
appGroup | 用于指定您的应用与录屏进程共享的 Application Group Identifier,您可以指定该参数为 nil,但推荐您按照文档指示进行设置,从而获得更好的可靠性。 |
encParams | 设置屏幕分享时的视频编码参数,推荐采用上述推荐配置。如果您指定 encParams 为 nil,SDK 会使用您在调用 startScreenCapture 接口之前所设置的视频编码参数。 |
streamType | 屏幕分享使用的线路,可以设置为主路(TRTCVideoStreamTypeBig)或者辅路(TRTCVideoStreamTypeSub)。 |
- (void)startScreenCapture: | (nullable NSView *)view |
streamType: | |
encParam: |
参数 | 描述 |
encParam | 屏幕分享的画面编码参数,SDK 会优先使用您通过此接口设置的编码参数: 如果您设置 encParam 为空值,且您已通过 setSubStreamEncoderParam 设置过辅路视频编码参数,SDK 将使用您设置过的辅路编码参数进行屏幕分享。 如果您设置 encParam 为空值,且您未通过 setSubStreamEncoderParam 设置过辅路视频编码参数,SDK 将自动选择一个最佳的编码参数进行屏幕分享。 |
streamType | 屏幕分享使用的线路,可以设置为主路(TRTCVideoStreamTypeBig)或者辅路(TRTCVideoStreamTypeSub),推荐使用辅路。 |
view | 渲染控件所在的父控件,可以设置为空值,表示不显示屏幕分享的预览效果。 |
- (NSArray<TRTCScreenCaptureSourceInfo*>*)getScreenCaptureSourcesWithThumbnailSize: | (CGSize)thumbnailSize |
iconSize: | (CGSize)iconSize |
参数 | 描述 |
iconSize | 指定要获取的窗口图标大小。 |
thumbnailSize | 指定要获取的窗口缩略图大小,缩略图可用于绘制在窗口选择界面上。 |
- (void)selectScreenCaptureTarget: | |
rect: | (CGRect)rect |
capturesCursor: | (BOOL)capturesCursor |
highlight: | (BOOL)highlight |
参数 | 描述 |
capturesCursor | 是否捕获鼠标光标。 |
highlight | 是否高亮正在分享的窗口。 |
rect | 指定捕获的区域(设定该参数为 CGRectZero:当分享目标是某个窗口时则分享整个窗口,当分享目标是桌面时则分享整个桌面)。 |
screenSource | 指定分享源。 |
- (void)setSubStreamEncoderParam: |
参数 | 描述 |
param |
- (void)setSubStreamMixVolume: | (NSInteger)volume |
参数 | 描述 |
volume | 设置的混音音量大小,范围0 - 100。 |
- (void)addExcludedShareWindow: | (NSInteger)windowID |
参数 | 描述 |
windowID | 不希望分享出去的窗口 |
- (void)removeExcludedShareWindow: | (NSInteger)windowID |
参数 | 描述 |
windowID | 要排除的窗口 id。 |
- (void)addIncludedShareWindow: | (NSInteger)windowID |
参数 | 描述 |
windowID | 希望被分享出去的窗口(Windows 平台下为窗口句柄: HWND) |
- (void)removeIncludedShareWindow: | (NSInteger)windowID |
参数 | 描述 |
windowID | 希望被分享出去的窗口(Mac 平台:窗口 ID;Windows 平台:HWND) |
- (void)enableCustomVideoCapture: | |
enable: | (BOOL)enable |
参数 | 描述 |
enable | 是否启用,默认值:NO。 |
streamType |
- (void)sendCustomVideoData: | |
frame: |
参数 | 描述 |
frame | 视频数据,支持 PixelBuffer NV12,BGRA 以及 I420 格式数据。 |
streamType |
- (void)enableCustomAudioCapture: | (BOOL)enable |
参数 | 描述 |
enable | 是否启用,默认值:NO。 |
- (void)sendCustomAudioData: |
参数 | 描述 |
frame | 音频数据 |
- (void)enableMixExternalAudioFrame: | (BOOL)enablePublish |
playout: |