腾讯云 TRTC 主功能接口
class com::tencent::trtc::TRTCCloud::TRTCViewMargin |
Public 成员函数 | |
TRTCViewMargin (float leftMargin, float rightMargin, float topMargin, float bottomMargin) | |
成员变量 | |
float | leftMargin = 0.0f |
float | topMargin = 0.0f |
float | rightMargin = 0.0f |
float | bottomMargin = 0.0f |
|
inline |
float bottomMargin = 0.0f |
float leftMargin = 0.0f |
float rightMargin = 0.0f |
float topMargin = 0.0f |
interface com::tencent::trtc::TRTCCloud::BGMNotify |
Public 成员函数 | |
void | onBGMStart (int errCode) |
void | onBGMProgress (long progress, long duration) |
void | onBGMComplete (int err) |
void onBGMComplete | ( | int | err | ) |
void onBGMProgress | ( | long | progress, |
long | duration | ||
) |
void onBGMStart | ( | int | errCode | ) |
class com::tencent::trtc::TRTCCloud |
创建实例和事件回调 | |
static TRTCCloud | sharedInstance (Context context) |
static void | destroySharedInstance () |
abstract void | setListener (TRTCCloudListener listener) |
abstract void | setListenerHandler (Handler listenerHandler) |
房间相关接口函数 | |
abstract void | enterRoom (TRTCCloudDef.TRTCParams param, int scene) |
abstract void | exitRoom () |
abstract void | switchRole (int role) |
abstract void | switchRoom (final TRTCCloudDef.TRTCSwitchRoomConfig config) |
abstract void | ConnectOtherRoom (String param) |
abstract void | DisconnectOtherRoom () |
abstract void | setDefaultStreamRecvMode (boolean autoRecvAudio, boolean autoRecvVideo) |
abstract TRTCCloud | createSubCloud () |
abstract void | destroySubCloud (final TRTCCloud subCloud) |
abstract void | startPublishing (final String streamId, final int streamType) |
abstract void | stopPublishing () |
abstract void | startPublishCDNStream (TRTCCloudDef.TRTCPublishCDNParam param) |
abstract void | stopPublishCDNStream () |
abstract void | setMixTranscodingConfig (TRTCCloudDef.TRTCTranscodingConfig config) |
视频相关接口函数 | |
abstract void | startLocalPreview (boolean frontCamera, TXCloudVideoView view) |
abstract void | updateLocalView (TXCloudVideoView view) |
abstract void | stopLocalPreview () |
abstract void | muteLocalVideo (int streamType, boolean mute) |
abstract void | setVideoMuteImage (Bitmap image, int fps) |
abstract void | startRemoteView (String userId, int streamType, TXCloudVideoView view) |
abstract void | updateRemoteView (String userId, int streamType, TXCloudVideoView view) |
abstract void | stopRemoteView (String userId, int streamType) |
abstract void | stopAllRemoteView () |
abstract void | muteRemoteVideoStream (String userId, int streamType, boolean mute) |
abstract void | muteAllRemoteVideoStreams (boolean mute) |
abstract void | setVideoEncoderParam (TRTCCloudDef.TRTCVideoEncParam param) |
abstract void | setNetworkQosParam (TRTCCloudDef.TRTCNetworkQosParam param) |
abstract void | setLocalRenderParams (TRTCCloudDef.TRTCRenderParams params) |
abstract void | setRemoteRenderParams (String userId, int streamType, TRTCCloudDef.TRTCRenderParams params) |
abstract void | setVideoEncoderRotation (int rotation) |
abstract void | setVideoEncoderMirror (boolean mirror) |
abstract void | setGSensorMode (int mode) |
abstract int | enableEncSmallVideoStream (boolean enable, TRTCCloudDef.TRTCVideoEncParam smallVideoEncParam) |
abstract int | setRemoteVideoStreamType (String userId, int streamType) |
abstract void | snapshotVideo (String userId, int streamType, TRTCCloudListener.TRTCSnapshotListener listener) |
音频相关接口函数 | |
abstract void | startLocalAudio (int quality) |
abstract void | stopLocalAudio () |
abstract void | muteLocalAudio (boolean mute) |
abstract void | muteRemoteAudio (String userId, boolean mute) |
abstract void | muteAllRemoteAudio (boolean mute) |
abstract void | setAudioRoute (int route) |
abstract void | setRemoteAudioVolume (String userId, int volume) |
abstract void | setAudioCaptureVolume (int volume) |
abstract int | getAudioCaptureVolume () |
abstract void | setAudioPlayoutVolume (int volume) |
abstract int | getAudioPlayoutVolume () |
abstract void | enableAudioVolumeEvaluation (int interval) |
abstract int | startAudioRecording (TRTCCloudDef.TRTCAudioRecordingParams param) |
abstract void | stopAudioRecording () |
abstract void | startLocalRecording (TRTCCloudDef.TRTCLocalRecordingParams params) |
abstract void | stopLocalRecording () |
abstract int | checkAudioCapabilitySupport (int capabilityType) |
abstract void | setRemoteAudioParallelParams (TRTCCloudDef.TRTCAudioParallelParams params) |
设备管理相关接口 | |
abstract TXDeviceManager | getDeviceManager () |
美颜特效和图像水印 | |
abstract TXBeautyManager | getBeautyManager () |
abstract void | setWatermark (Bitmap image, int streamType, float x, float y, float width) |
背景音乐和声音特效 | |
abstract TXAudioEffectManager | getAudioEffectManager () |
屏幕分享相关接口 | |
abstract void | startScreenCapture (int streamType, TRTCCloudDef.TRTCVideoEncParam encParams, TRTCCloudDef.TRTCScreenShareParams shareParams) |
abstract void | stopScreenCapture () |
abstract void | pauseScreenCapture () |
abstract void | resumeScreenCapture () |
abstract void | setSubStreamEncoderParam (TRTCCloudDef.TRTCVideoEncParam param) |
自定义采集和自定义渲染 | |
abstract void | enableCustomVideoCapture (int streamType, boolean enable) |
abstract void | sendCustomVideoData (int streamType, TRTCCloudDef.TRTCVideoFrame frame) |
abstract void | enableCustomAudioCapture (boolean enable) |
abstract void | sendCustomAudioData (TRTCCloudDef.TRTCAudioFrame frame) |
abstract void | enableMixExternalAudioFrame (boolean enablePublish, boolean enablePlayout) |
abstract int | mixExternalAudioFrame (TRTCCloudDef.TRTCAudioFrame frame) |
abstract void | setMixExternalAudioVolume (int publishVolume, int playoutVolume) |
abstract long | generateCustomPTS () |
abstract int | setLocalVideoProcessListener (int pixelFormat, int bufferType, TRTCCloudListener.TRTCVideoFrameListener listener) |
abstract int | setLocalVideoRenderListener (int pixelFormat, int bufferType, TRTCCloudListener.TRTCVideoRenderListener listener) |
abstract int | setRemoteVideoRenderListener (String userId, int pixelFormat, int bufferType, TRTCCloudListener.TRTCVideoRenderListener listener) |
abstract void | setAudioFrameListener (TRTCCloudListener.TRTCAudioFrameListener listener) |
abstract int | setCapturedRawAudioFrameCallbackFormat (TRTCCloudDef.TRTCAudioFrameCallbackFormat format) |
abstract int | setLocalProcessedAudioFrameCallbackFormat (TRTCCloudDef.TRTCAudioFrameCallbackFormat format) |
abstract int | setMixedPlayAudioFrameCallbackFormat (TRTCCloudDef.TRTCAudioFrameCallbackFormat format) |
abstract void | enableCustomAudioRendering (boolean enable) |
abstract void | getCustomAudioRenderingFrame (final TRTCCloudDef.TRTCAudioFrame audioFrame) |
自定义消息发送接口 | |
abstract boolean | sendCustomCmdMsg (int cmdID, byte[] data, boolean reliable, boolean ordered) |
abstract boolean | sendSEIMsg (byte[] data, int repeatCount) |
网络测试接口 | |
abstract int | startSpeedTest (TRTCCloudDef.TRTCSpeedTestParams params) |
abstract void | stopSpeedTest () |
调试相关接口 | |
static String | getSDKVersion () |
static void | setLogLevel (int level) |
static void | setConsoleEnabled (boolean enabled) |
static void | setLogCompressEnabled (boolean enabled) |
static void | setLogDirPath (String path) |
static void | setLogListener (final TRTCCloudListener.TRTCLogListener logListener) |
static native void | setNetEnv (int env) |
abstract void | showDebugView (int showType) |
abstract void | setDebugViewMargin (String userId, TRTCViewMargin margin) |
abstract void | callExperimentalAPI (String jsonStr) |
弃用接口(建议使用对应的新接口) | |
abstract void | setMicVolumeOnMixing (int volume) |
abstract void | setBeautyStyle (int beautyStyle, int beautyLevel, int whitenessLevel, int ruddinessLevel) |
abstract void | setEyeScaleLevel (int eyeScaleLevel) |
abstract void | setFaceSlimLevel (int faceScaleLevel) |
abstract void | setFaceVLevel (int faceVLevel) |
abstract void | setChinLevel (int chinLevel) |
abstract void | setFaceShortLevel (int faceShortlevel) |
abstract void | setNoseSlimLevel (int noseSlimLevel) |
abstract void | selectMotionTmpl (String motionPath) |
abstract void | setMotionMute (boolean motionMute) |
abstract void | setFilter (Bitmap image) |
abstract void | setFilterConcentration (float concentration) |
abstract boolean | setGreenScreenFile (String file) |
abstract void | playBGM (String path, BGMNotify notify) |
abstract void | stopBGM () |
abstract void | pauseBGM () |
abstract void | resumeBGM () |
abstract int | getBGMDuration (String path) |
abstract int | setBGMPosition (int pos) |
abstract void | setBGMVolume (int volume) |
abstract void | setBGMPlayoutVolume (int volume) |
abstract void | setBGMPublishVolume (int volume) |
abstract void | setReverbType (int reverbType) |
abstract boolean | setVoiceChangerType (int voiceChangerType) |
abstract void | playAudioEffect (TRTCCloudDef.TRTCAudioEffectParam effect) |
abstract void | setAudioEffectVolume (int effectId, int volume) |
abstract void | stopAudioEffect (int effectId) |
abstract void | stopAllAudioEffects () |
abstract void | setAllAudioEffectsVolume (int volume) |
abstract void | pauseAudioEffect (int effectId) |
abstract void | resumeAudioEffect (int effectId) |
abstract void | enableAudioEarMonitoring (boolean enable) |
abstract void | startRemoteView (String userId, TXCloudVideoView view) |
abstract void | stopRemoteView (String userId) |
abstract void | setRemoteViewFillMode (String userId, int mode) |
abstract void | setRemoteViewRotation (String userId, int rotation) |
abstract void | setLocalViewFillMode (int mode) |
abstract void | setLocalViewRotation (int rotation) |
abstract void | setLocalViewMirror (int mirrorType) |
abstract void | startRemoteSubStreamView (String userId, TXCloudVideoView view) |
abstract void | stopRemoteSubStreamView (String userId) |
abstract void | setRemoteSubStreamViewFillMode (String userId, int mode) |
abstract void | setRemoteSubStreamViewRotation (final String userId, final int rotation) |
abstract int | setPriorRemoteVideoStreamType (int streamType) |
abstract void | setAudioQuality (int quality) |
abstract void | startLocalAudio () |
abstract void | switchCamera () |
abstract boolean | isCameraZoomSupported () |
abstract void | setZoom (int distance) |
abstract boolean | isCameraTorchSupported () |
abstract boolean | enableTorch (boolean enable) |
abstract boolean | isCameraFocusPositionInPreviewSupported () |
abstract void | setFocusPosition (int x, int y) |
abstract boolean | isCameraAutoFocusFaceModeSupported () |
abstract void | setSystemVolumeType (int type) |
abstract void | enableCustomVideoCapture (boolean enable) |
abstract void | sendCustomVideoData (TRTCCloudDef.TRTCVideoFrame frame) |
abstract void | startScreenCapture (TRTCCloudDef.TRTCVideoEncParam encParams, TRTCCloudDef.TRTCScreenShareParams shareParams) |
abstract void | muteLocalVideo (boolean mute) |
abstract void | muteRemoteVideoStream (String userId, boolean mute) |
abstract void | startSpeedTest (int sdkAppId, String userId, String userSig) |
|
abstract |
调用实验性接口
|
abstract |
查询是否支持音频某种能力(仅适用于Android)
capabilityType | 音频能力类型.
|
|
abstract |
请求跨房通话
默认情况下,只有同一个房间中的用户之间可以进行音视频通话,不同的房间之间的音视频流是相互隔离的。 但您可以通过调用该接口,将另一个房间中某个主播音视频流发布到自己所在的房间中,与此同时,该接口也会将自己的音视频流发布到目标主播的房间中。 也就是说,您可以使用该接口让身处两个不同房间中的主播进行跨房间的音视频流分享,从而让每个房间中的观众都能观看到这两个主播的音视频。该功能可以用来实现主播之间的 PK 功能。 跨房通话的请求结果会通过 TRTCCloudDelegate 中的 onConnectOtherRoom() 回调通知给您。 例如:当房间“101”中的主播 A 通过 connectOtherRoom() 跟房间“102”中的主播 B 建立跨房通话后,
房间 101 房间 102 ------------- ------------ 跨房通话前:| 主播 A | | 主播 B | | 观众 U V W | | 观众 X Y Z | ------------- ------------
房间 101 房间 102 ------------- ------------ 跨房通话后:| 主播 A B | | 主播 B A | | 观众 U V W | | 观众 X Y Z | ------------- ------------
跨房通话的参数考虑到后续扩展字段的兼容性问题,暂时采用了 JSON 格式的参数:
【情况一:数字房间号】 如果房间“101”中的主播 A 要跟房间“102”中的主播 B 连麦,那么主播 A 调用该接口时需要传入:{"roomId": 102, "userId": "userB"} 示例代码如下:
JSONObject jsonObj = new JSONObject(); jsonObj.put("roomId", 102); jsonObj.put("userId", "userB"); trtc.ConnectOtherRoom(jsonObj.toString());
【情况二:字符串房间号】 如果您使用的是字符串房间号,务必请将 json 中的 “roomId” 替换成 “strRoomId”: {"strRoomId": "102", "userId": "userB"} 示例代码如下:
JSONObject jsonObj = new JSONObject(); jsonObj.put("strRoomId", "102"); jsonObj.put("userId", "userB"); trtc.ConnectOtherRoom(jsonObj.toString());
param | 需要你传入 JSON 格式的字符串参数,roomId 代表数字格式的房间号,strRoomId 代表字符串格式的房间号,userId 代表目标主播的用户ID。 |
|
abstract |
创建子房间示例(用于多房间并发观看)
TRTCCloud 一开始被设计成单例模式,限制了多房间并发观看的能力。 通过调用该接口,您可以创建出多个 TRTCCloud 实例,以便同时进入多个不同的房间观看音视频流。 但需要注意的是,由于摄像头和麦克风还是只有一份,因此您只能同时在一个 TRTCCloud 实例中以“主播”的身份存在,也就是您只能同时在一个 TRTCCloud 实例中发布自己的音视频流。 该功能主要用于在线教育场景中一种被称为“超级小班课”的业务场景中,用于解决“每个 TRTC 的房间中最多只能有 50 人同时发布自己音视频流”的限制。 示例代码如下:
TRTCCloud mainCloud = TRTCCloud.sharedInstance(mContext); mainCloud.enterRoom(params1, TRTCCloudDef.TRTC_APP_SCENE_LIVE); //... //Switch the role from "anchor" to "audience" in your own room mainCloud.switchRole(TRTCCloudDef.TRTCRoleAudience); mainCloud.muteLocalVideo(true); mainCloud.muteLocalAudio(true); //... //Use subcloud to enter another room and switch the role from "audience" to "anchor" TRTCCloud subCloud = mainCloud.createSubCloud(); subCloud.enterRoom(params2, TRTCCloudDef.TRTC_APP_SCENE_LIVE); subCloud.switchRole(TRTCCloudDef.TRTCRoleAnchor); subCloud.muteLocalVideo(false); subCloud.muteLocalAudio(false); //... //Exit from new room and release it. subCloud.exitRoom(); mainCloud.destroySubCloud(subCloud);
|
inlinestatic |
销毁 TRTCCloud 实例(单例模式)
|
abstract |
销毁子房间示例
subCloud |
|
abstract |
退出跨房通话
退出结果会通过 TRTCCloudDelegate 中的 onDisconnectOtherRoom() 回调通知给您。
|
abstract |
开启(或关闭)耳返
|
abstract |
启用音量大小提示
开启此功能后,SDK 会在 TRTCCloudDelegate 中的 onUserVoiceVolume 回调中反馈远端音频的音量大小。
interval | 设置 onUserVoiceVolume 回调的触发间隔,单位为ms,最小间隔为100ms,如果小于等于 0 则会关闭回调,建议设置为300ms; |
|
abstract |
启用音频自定义采集模式
开启该模式后,SDK 不在运行原有的音频采集流程,即不再继续从麦克风采集音频数据,而是只保留音频编码和发送能力。 您需要通过 sendCustomAudioData 不断地向 SDK 塞入自己采集的音频数据。
enable | 是否启用,默认值:false。 |
|
abstract |
开启音频自定义播放
如果您需要外接一些特定的音频设备,或者希望自己掌控音频的播放逻辑,您可以通过该接口启用音频自定义播放。 启用音频自定义播放后,SDK 将不再调用系统的音频接口播放数据,您需要通过 getCustomAudioRenderingFrame 获取 SDK 要播放的音频帧并自行播放。
enable | 是否启用音频自定义播放,默认为关闭状态。 |
|
abstract |
启用视频自定义采集模式
|
abstract |
启用/关闭视频自定义采集模式
开启该模式后,SDK 不在运行原有的视频采集流程,即不再继续从摄像头采集数据和美颜,而是只保留视频编码和发送能力。 您需要通过 sendCustomVideoData 不断地向 SDK 塞入自己采集的视频画面。
streamType | 用于指定视频流类型,TRTCVideoStreamTypeBig:高清大画面;TRTCVideoStreamTypeSub:辅路画面。 |
enable | 是否启用,默认值:false。 |
|
abstract |
开启大小画面双路编码模式
开启双路编码模式后,当前用户的编码器会同时输出【高清大画面】和【低清小画面】两路视频流(但只有一路音频流)。 如此以来,房间中的其他用户就可以根据自身的网络情况或屏幕大小选择订阅【高清大画面】或是【低清小画面】。
enable | 是否开启小画面编码,默认值:false |
smallVideoEncParam | 小流的视频参数 |
|
abstract |
启用/关闭自定义音轨
开启后,您可以通过本接口向 SDK 混入一条自定义的音轨。通过两个布尔型参数,您可以控制该音轨是否要在远端和本地播放。
enablePublish | 控制混入的音轨是否要在远端播放,默认值:false。 |
enablePlayout | 控制混入的音轨是否要在本地播放,默认值:false。 |
|
abstract |
开关/关闭闪光灯
|
abstract |
进入房间
TRTC 的所有用户都需要进入房间才能“发布”或“订阅”音视频流,“发布”是指将自己的音频和视频推送到云端,“订阅”是指从云端拉取房间里其他用户的音视频流。 调用该接口时,您需要指定您的应用场景 TRTCAppScene 以获取最佳的音视频传输体验,这些场景可以分成两大类:
【直播场景(Live)】
【实时场景(RTC)】
调用该接口后,您会收到来自 TRTCCloudDelegate 中的 onEnterRoom(result) 回调:
param | 进房参数,用于指定用户的身份、角色和安全票据等信息,详情请参考 TRTCParams 。 |
scene | 应用场景,用于指定您的业务场景,同一个房间内的所有用户需要设定相同的 TRTCAppScene。 |
|
abstract |
离开房间
调用该接口会让用户离开自己所在的音视频房间,并释放摄像头、麦克风、扬声器等设备资源。 等资源释放完毕之后,SDK 会通过 TRTCCloudDelegate 中的 onExitRoom() 回调向您通知。 如果您要再次调用 enterRoom 或者切换到其他的供应商的 SDK,建议等待 onExitRoom() 回调到来之后再执行之后的操作,以避免摄像头或麦克风被占用的问题。
|
abstract |
生成自定义采集时的时间戳
本接口仅适用于自定义采集模式,用于解决音视频帧的采集时间(capture time)和投送时间(send time)不一致所导致的音画不同步问题。 当您通过 sendCustomVideoData 或 sendCustomAudioData 等接口进行自定义视频或音频采集时,请按照如下操作使用该接口:
|
abstract |
获取本地音频的采集音量
|
abstract |
获取音效管理类(TXAudioEffectManager)
TXAudioEffectManager 是音效管理接口,您可以通过该接口实现如下功能:
|
abstract |
获取远端音频的播放音量
|
abstract |
获取美颜管理类(TXBeautyManager)
通过美颜管理,您可以使用以下功能:
|
abstract |
获取背景音乐总时长(单位:毫秒)
|
abstract |
获取可播放的音频数据
调用该接口之前,您需要先通过 enableCustomAudioRendering 开启音频自定义播放。 参数 TRTCAudioFrame 推荐下列填写方式(其他字段不需要填写):
audioFrame | 音频数据帧。 |
|
abstract |
获取设备管理类(TXDeviceManager)
|
inlinestatic |
获取 SDK 版本信息
|
abstract |
查询是否支持自动识别人脸位置
|
abstract |
查询摄像头是否支持设置焦点
|
abstract |
查询是否支持开关闪光灯
|
abstract |
查询当前摄像头是否支持缩放
|
abstract |
向 SDK 混入自定义音轨
调用该接口之前,您需要先通过 enableMixExternalAudioFrame 开启自定义音轨,之后就可以通过本接口将自己的音轨以 PCM 格式混入到 SDK 中。 理想情况下,我们期望您的代码能够以非常均匀的速度向 SDK 提供音轨数据。但我们也非常清楚,完美的调用间隔是一个巨大的挑战。 所以 SDK 内部会开启一个音轨数据的缓冲区,该缓冲区的作用类似一个“蓄水池”,它能够暂存您传入的音轨数据,平抑由于接口调用间隔的抖动问题。 本接口的返回值代表这个音轨缓冲区的大小,单位是毫秒(ms),比如:如果该接口返回 50,则代表当前的音轨缓冲区有 50ms 的音轨数据。因此只要您在 50ms 内再次调用本接口,SDK 就能保证您混入的音轨数据是连续的。 当您调用该接口后,如果发现返回值 > 100ms,则可以等待一帧音频帧的播放时间之后再次调用;如果返回值 < 100ms,则代表缓冲区比较小,您可以再次混入一些音轨数据以确保音轨缓冲区的大小维持在“安全水位”以上。 参数 TRTCAudioFrame 推荐下列填写方式(其他字段不需要填写):
frame | 音频数据 |
|
abstract |
暂停/恢复播放所有远端用户的音频流
当您静音所有用户的远端音频时,SDK 会停止播放所有来自远端的音频流,同时也会停止拉取所有用户的音频数据。
mute | true:静音;false:取消静音。 |
|
abstract |
暂停/恢复订阅所有远端用户的视频流
该接口仅暂停/恢复接收所有用户的视频流,但并不释放显示资源,视频画面会被冻屏在接口调用时的最后一帧。
mute | 是否暂停接收 |
|
abstract |
暂停/恢复发布本地的音频流
当您暂停发布本地音频流之后,房间中的其他他用户会收到 onUserAudioAvailable(userId, false) 的通知。 当您恢复发布本地音频流之后,房间中的其他他用户会收到 onUserAudioAvailable(userId, true) 的通知。 与 stopLocalAudio 的不同之处在于,muteLocalAudio(true) 并不会释放麦克风权限,而是继续发送码率极低的静音包。 这对于需要云端录制的场景非常适用,因为 MP4 等格式的视频文件,对于音频数据的连续性要求很高,使用 stopLocalAudio 会导致录制出的 MP4 文件不易播放。 因此在对录制文件的质量要求较高的场景中,建议选择 muteLocalAudio 而不建议使用 stopLocalAudio。
mute | true:静音;false:恢复。 |
|
abstract |
暂停/恢复发布本地的视频流
|
abstract |
暂停/恢复发布本地的视频流
该接口可以暂停(或恢复)发布本地的视频画面,暂停之后,同一房间中的其他用户将无法继续看到自己画面。 该接口在指定 TRTCVideoStreamTypeBig 时等效于 start/stopLocalPreview 这两个接口,但具有更好的响应速度。 因为 start/stopLocalPreview 需要打开和关闭摄像头,而打开和关闭摄像头都是硬件设备相关的操作,非常耗时。 相比之下,muteLocalVideo 只需要在软件层面对数据流进行暂停或者放行即可,因此效率更高,也更适合需要频繁打开关闭的场景。 当暂停/恢复发布指定 TRTCVideoStreamTypeBig 后,同一房间中的其他用户将会收到 onUserVideoAvailable 回调通知。 当暂停/恢复发布指定 TRTCVideoStreamTypeSub 后,同一房间中的其他用户将会收到 onUserSubStreamAvailable 回调通知。
streamType | 要暂停/恢复的视频流类型(仅支持 TRTCVideoStreamTypeBig 和 TRTCVideoStreamTypeSub) |
mute | true:暂停;false:恢复。 |
|
abstract |
暂停/恢复播放远端的音频流
当您静音某用户的远端音频时,SDK 会停止播放指定用户的声音,同时也会停止拉取该用户的音频数据数据。
userId | 用于指定远端用户的 ID。 |
mute | true:静音;false:取消静音。 |
|
abstract |
暂停 / 恢复订阅远端用户的视频流
|
abstract |
暂停/恢复订阅远端用户的视频流
该接口仅暂停/恢复接收指定用户的视频流,但并不释放显示资源,视频画面会被冻屏在接口调用时的最后一帧。
userId | 指定远端用户的 ID。 |
streamType | 要暂停/恢复的视频流类型(仅支持 TRTCVideoStreamTypeBig 和 TRTCVideoStreamTypeSub)。 |
mute | 是否暂停接收。 |
|
abstract |
暂停音效
|
abstract |
停止播放背景音乐
|
abstract |
暂停屏幕分享
|
abstract |
播放音效
|
abstract |
启动播放背景音乐
|
abstract |
暂停音效
|
abstract |
停止播放背景音乐
|
abstract |
恢复屏幕分享
|
abstract |
设置动效贴纸
|
abstract |
向 SDK 投送自己采集的音频数据
参数 TRTCAudioFrame 推荐下列填写方式(其他字段不需要填写):
参考文档:自定义采集和渲染。
frame | 音频数据 |
|
abstract |
使用 UDP 通道发送自定义消息给房间内所有用户
该接口可以让您借助 TRTC 的 UDP 通道,向当前房间里的其他用户广播自定义数据,已达到传输信令的目的。 TRTC 中的 UDP 通道原本设计用来传输音视频数据的,该接口的原理是将您要发送的信令伪装成音视频数据包,与原本要发送的音视频数据一并发送出去。 房间中的其他用户可以通过 TRTCCloudDelegate 中的 onRecvCustomCmdMsg 回调接收消息。
cmdID | 消息 ID,取值范围为1 - 10。 |
data | 待发送的消息,单个消息的最大长度被限制为 1KB。 |
reliable | 是否可靠发送,可靠发送可以获得更高的发送成功率,但可靠发送比不可靠发送会带来更大的接收延迟。 |
ordered | 是否要求有序,即是否要求接收端的数据包顺序和发送端的数据包顺序一致(这会带来一定的接收延时)。 |
|
abstract |
向 SDK 投送自己采集的视频帧
使用此接口可以向 SDK 投送自己采集的视频帧,SDK 会将视频帧进行编码并通过自身的网络模块传输出去。 Android 平台有两种投送方案:
参考文档:自定义采集和渲染。
streamType | 用于指定视频流类型,TRTCVideoStreamTypeBig:高清大画面;TRTCVideoStreamTypeSub:辅路画面。 |
frame | 视频数据,如果是内存传递方案,请设置 data 字段;如果是显存传递方案,请设置 TRTCTexture 字段。详情请参考 TRTCVideoFrame。 |
|
abstract |
投送自己采集的视频数据
|
abstract |
使用 SEI 通道发送自定义消息给房间内所有用户
该接口可以让您借助 TRTC 的 SEI 通道,向当前房间里的其他用户广播自定义数据,已达到传输信令的目的。 视频帧的头部有一个叫做 SEI 的头部数据块,该接口的原理就是利用这个被称为 SEI 的头部数据块,将您要发送的自定义信令嵌入其中,使其同视频帧一并发送出去。 因此,与 sendCustomCmdMsg 相比,SEI 通道传输的信令具有更好的兼容性:信令可以伴随着视频帧一直传输到直播 CDN 上。 不过,由于视频帧头部的数据块不能太大,建议您使用该接口时,尽量将信令控制在几个字节的大小。 最常见的用法是把自定义的时间戳(timestamp)用本接口嵌入视频帧中,实现消息和画面的完美对齐(比如:教育场景下的课件和视频信号的对齐)。 房间中的其他用户可以通过 TRTCCloudDelegate 中的 onRecvSEIMsg 回调接收消息。
data | 待发送的数据,最大支持 1KB(1000字节)的数据大小 |
repeatCount | 发送数据次数 |
|
abstract |
设置所有音效音量
|
abstract |
设定本地音频的采集音量
volume | 音量大小,取值范围为0 - 100;默认值:100 |
|
abstract |
设置音效音量
|
abstract |
设置音频数据自定义回调
设置该回调之后,SDK 内部会把音频数据(PCM 格式)回调出来,包括:
|
abstract |
设定远端音频的播放音量
该接口会控制 SDK 最终交给系统播放的声音音量,调节效果会影响到本地音频录制文件的音量大小,但不会影响到耳返的音量大小。
volume | 音量大小,取值范围为0 - 100,默认值:100。 |
|
abstract |
设置音频质量
|
abstract |
设置音频路由
设置“音频路由”,即设置声音是从手机的扬声器还是从听筒中播放出来,因此该接口仅适用于手机等移动端设备。 手机有两个扬声器:一个是位于手机顶部的听筒,一个是位于手机底部的立体声扬声器。 设置音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。 设置音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。
route | 音频路由,即声音由哪里输出(扬声器、听筒),默认值:TRTCAudioModeSpeakerphone。 |
|
abstract |
设置美颜、美白以及红润效果级别
|
abstract |
设置背景音乐的本地播放音量
|
abstract |
设置背景音乐的播放进度
|
abstract |
设置背景音乐的远端播放音量
|
abstract |
设置背景音乐的音量大小
|
abstract |
设置本地麦克风采集出的原始音频帧回调格式
本接口用于设置 onCapturedRawAudioFrame 回调出来的 AudioFrame 的格式:
如果希望用毫秒数计算回调帧长,则将毫秒数转换成采样点数的公式为:采样点数 = 毫秒数 * 采样率 / 1000; 举例:48000 采样率希望回调 20ms 帧长的数据,则采样点数应该填: 960 = 20 * 48000 / 1000; 注意,最终回调的帧长度是以字节为单位,采样点数转换成字节数的计算公式为:字节数 = 采样点数 * channel * 2(位宽) 举例:48000 采样率,双声道,20ms 帧长,采样点数为 960,字节数为 3840 = 960 * 2 * 2
format | 音频数据回调格式。 |
|
abstract |
设置下巴拉伸或收缩幅度
|
inlinestatic |
启用/禁用控制台日志打印
enabled | 指定是否启用,默认:禁止状态 |
|
abstract |
|
abstract |
设置订阅模式(需要在进入房前设置才能生效)
您可以通过该接口在“自动订阅”和“手动订阅”两种模式下进行切换:
在绝大多数场景下,用户进入房间后都会订阅房间中所有主播的音视频流,因此 TRTC 默认采用了自动订阅模式,以求得最佳的“秒开体验”。 如果您的应用场景中每个房间同时会有很多路音视频流在发布,而每个用户只想选择性地订阅其中的 1-2 路,则推荐使用“手动订阅”模式以节省流量费用。
autoRecvAudio | true:自动订阅音频;false:需手动调用 muteRemoteAudio(false) 订阅音频。默认值:true。 |
autoRecvVideo | true:自动订阅视频;false:需手动调用 startRemoteView 订阅视频。默认值:true。 |
|
abstract |
设置大眼级别
|
abstract |
设置短脸级别
|
abstract |
设置瘦脸级别
|
abstract |
设置 V 脸级别
|
abstract |
设置色彩滤镜效果
|
abstract |
设置色彩滤镜浓度
|
abstract |
设置摄像头焦点坐标位置
|
abstract |
设置绿幕背景视频
|
abstract |
设置重力感应的适配模式
您可以通过本接口实现如下这种友好的交互体验: 当用户将手机或 Pad 上下颠倒时,由于摄像头的采集方向没有变,所以房间中其他用户所看到的画面会变成上下颠倒的, 在这种情况下,您可以通过调用该接口让 SDK 根据设备陀螺仪的朝向自动调整本地画面和编码器输出画面的旋转方向,以使远端观众可以看到正常朝向的画面。
mode | 重力感应模式,详情请参考 TRTCGSensorMode,默认值:TRTCGSensorMode_UIAutoLayout。 |
|
abstract |
设置 TRTC 事件回调
您可以通过 TRTCCloudDelegate 获得来自 SDK 的各类事件通知(比如:错误码,警告码,音视频状态参数等)。
|
abstract |
设置驱动 TRTCCloudDelegate 事件回调的队列
如果您不指定自己的 listenerHandler 默认会采用 MainQueue 作为驱动 TRTCCloudDelegate 事件回调的队列。 也就是当您不设置 listenerHandler 属性时,TRTCCloudDelegate 中的所有回调函数都是由 MainQueue 来驱动的。
listenerHandler |
|
abstract |
设置经过前处理后的本地音频帧回调格式
本接口用于设置 onLocalProcessedAudioFrame 回调出来的 AudioFrame 的格式:
如果希望用毫秒数计算回调帧长,则将毫秒数转换成采样点数的公式为:采样点数 = 毫秒数 * 采样率 / 1000; 举例:48000 采样率希望回调20ms帧长的数据,则采样点数应该填: 960 = 20 * 48000 / 1000; 注意,最终回调的帧长度是以字节为单位,采样点数转换成字节数的计算公式为:字节数 = 采样点数 * channel * 2(位宽) 举例:48000 采样率,双声道,20ms 帧长,采样点数为 960,字节数为 3840 = 960 * 2 * 2
format | 音频数据回调格式。 |
|
abstract |
|
abstract |
设置第三方美颜的视频数据回调
设置该回调之后,SDK 会把采集到的视频帧通过您设置的 listener 回调出来,用于第三方美颜组件进行二次处理,之后 SDK 会将处理后的视频帧进行编码和发送。
pixelFormat | 指定回调的像素格式,目前支持: |
bufferType | 指定回调的数据格式,目前支持
|
listener | 自定义预处理回调,详见 TRTCCloudListener.TRTCVideoFrameListener |
|
abstract |
设置本地视频自定义渲染回调
设置该回调之后,SDK 内部会跳过原来的渲染流程,并把采集到的数据回调出来,您需要自己完成画面渲染。
参考文档:自定义采集和渲染。
pixelFormat | 指定视频帧的像素格式,如:
|
bufferType | 指定视频帧的数据结构:
|
listener | 自定义视频渲染回调,每一帧视频数据回调一次。 |
|
abstract |
设置本地图像的渲染模式
|
abstract |
设置本地摄像头预览画面的镜像模式
|
abstract |
设置本地图像的顺时针旋转角度
|
inlinestatic |
启用/禁用日志的本地压缩
开启压缩后,Log 存储体积明显减小,但需要腾讯云提供的 Python 脚本解压后才能阅读。 禁用压缩后,Log 采用明文存储,可以直接用记事本打开阅读,但占用空间较大。
enabled | 指定是否启用,默认为启动状态 |
|
inlinestatic |
设置本地日志的保存路径
通过该接口您可以更改 SDK 本地日志的默认存储路径,SDK 默认的本地日志的存储位置:
path | 存储日志的路径 |
|
inlinestatic |
设置 Log 输出级别
level | 参见 TRTCLogLevel,默认值:TRTCLogLevelNone |
|
inlinestatic |
设置日志回调
|
abstract |
设置麦克风的音量大小
|
abstract |
设置最终要由系统播放出的音频帧回调格式
本接口用于设置 onMixedPlayAudioFrame 回调出来的 AudioFrame 的格式:
如果希望用毫秒数计算回调帧长,则将毫秒数转换成采样点数的公式为:采样点数 = 毫秒数 * 采样率 / 1000; 举例:48000 采样率希望回调20ms帧长的数据,则采样点数应该填: 960 = 20 * 48000 / 1000; 注意,最终回调的帧长度是以字节为单位,采样点数转换成字节数的计算公式为:字节数 = 采样点数 * channel * 2(位宽) 举例:48000 采样率,双声道,20ms 帧长,采样点数为 960,字节数为 3840 = 960 * 2 * 2
format | 音频数据回调格式。 |
|
abstract |
设置推流时混入外部音频的推流音量和播放音量
publishVolume | 设置的推流音量大小,范围0 - 100, -1表示不改变 |
playoutVolume | 设置的播放音量大小,范围0 - 100, -1表示不改变 |
|
abstract |
设置云端混流的排版布局和转码参数
在一个直播间中可能同时会有多个主播发布自己的音视频流,但对于直播 CDN 上的观众而言,只需要观看一条 HTTP-FLV 或 HLS 格式的视频流即可。 当您调用本接口函数时,SDK 会向腾讯云的 TRTC 混流服务器发送一条指令,混流服务器会将房间里的多路音视频流混合成一路。 您可以通过 TRTCTranscodingConfig 参数来调整每一路画面的排版布局,也可以设置混合后的音视频流的各项编码参数。 参考文档:云端混流转码。
【画面1】=> 解码 ====> \ \ 【画面2】=> 解码 => 画面混合 => 编码 => 【混合后的画面】 // 【画面3】=> 解码 ====> //
【声音1】=> 解码 ====> \ \ 【声音2】=> 解码 => 声音混合 => 编码 => 【混合后的声音】 // 【声音3】=> 解码 ====> //
config | 如果 config 不为空,则开启云端混流,如果 config 为空则停止云端混流。详情请参考 TRTCTranscodingConfig 。 |
|
abstract |
设置动效静音
|
static |
设置 TRTC 的后台集群(仅适用于腾讯云研发团队)
|
abstract |
设置网络质量控制的相关参数
该设置决定在差网络环境下的质量调控策略,如“画质优先”或“流畅优先”等策略。
param | 用于设置网络质量控制的相关参数,详情请参考 TRTCNetworkQosParam。 |
|
abstract |
设置瘦鼻级别
|
abstract |
设定优先观看大画面还是小画面
|
abstract |
|
abstract |
设定某一个远端用户的声音播放音量
您可以通过 setRemoteAudioVolume(userId, 0) 将某一个远端用户的声音静音。
userId | 用于指定远端用户的 ID。 |
volume | 音量大小,取值范围为0 - 100,默认值:100。 |
|
abstract |
设置远端画面的渲染模式
可设置的参数包括有:画面的旋转角度、填充模式以及左右镜像等。
userId | 指定远端用户的 ID。 |
streamType | 可以设置为主路画面(TRTCVideoStreamTypeBig)或辅路画面(TRTCVideoStreamTypeSub) |
params | 画面渲染参数,详情请参考 TRTCRenderParams。 |
|
abstract |
设置辅路画面的填充模式
|
abstract |
设置辅路画面的顺时针旋转角度
|
abstract |
设置远端视频自定义渲染回调
设置该回调之后,SDK 内部会跳过原来的渲染流程,并把采集到的数据回调出来,您需要自己完成画面渲染。
参考文档:自定义采集和渲染。
userId | 指定远端用户的 ID |
pixelFormat | 指定视频帧的像素格式,目前支持 TRTCCloudDef#TRTC_VIDEO_PIXEL_FORMAT_I420,TRTCCloudDef#TRTC_VIDEO_PIXEL_FORMAT_RGBA。 |
bufferType | 指定视频帧的数据结构,如 TRTCCloudDef#TRTC_VIDEO_BUFFER_TYPE_BYTE_BUFFER,TRTCCloudDef#TRTC_VIDEO_BUFFER_TYPE_BYTE_ARRAY。 |
listener | 自定义视频渲染回调,每一帧视频数据回调一次。 |
|
abstract |
切换指定远端用户的大小画面
当房间中某个主播开启了双路编码之后,房间中其他用户通过 startRemoteView 订阅到的画面默认会是【高清大画面】。 您可以通过此接口选定希望订阅的画面是大画面还是小画面,该接口在 startRemoteView 之前和之后调用均可生效。
userId | 指定远端用户的 ID。 |
streamType | 视频流类型,即选择看大画面还是小画面,默认为大画面。 |
|
abstract |
设置远端图像的渲染模式
|
abstract |
设置远端图像的顺时针旋转角度
|
abstract |
设置混响效果
|
abstract |
设置屏幕分享(即辅路)的视频编码参数(桌面系统和移动系统均已支持)
该接口可以设定远端用户所看到的屏幕分享(即辅路)的画面质量,同时也能决定云端录制出的视频文件中屏幕分享的画面质量。 请注意如下两个接口的差异:
param | 辅流编码参数,详情请参考 TRTCVideoEncParam。 |
|
abstract |
设置系统音量类型
|
abstract |
设置编码器输出的画面镜像模式
该设置不影响本地画面的镜像模式,但会影响房间中其他用户所观看到(以及云端录制文件)的镜像模式。
mirror | 是否开启远端镜像,true:开启远端画面镜像;false:关闭远端画面镜像,默认值:false。 |
|
abstract |
设置视频编码器的编码参数
该设置能够决定远端用户看到的画面质量,同时也能决定云端录制出的视频文件的画面质量。
param | 用于设置视频编码器的相关参数,详情请参考 TRTCVideoEncParam。 |
|
abstract |
设置视频编码器输出的画面方向
该设置不影响本地画面的预览方向,但会影响房间中其他用户所观看到(以及云端录制文件)的画面方向。 当用户将手机或 Pad 上下颠倒时,由于摄像头的采集方向没有变,所以房间中其他用户所看到的画面会变成上下颠倒的, 在这种情况下,您可以通过调用该接口将 SDK 编码出的画面方向旋转180度,如此一来,房间中其他用户所看到的画面可保持正常的方向。 如果您希望实现上述这种友好的交互体验,我们更推荐您直接调用 setGSensorMode 实现更加智能的方向适配,无需您手动调用本接口。
rotation | 目前支持0和180两个旋转角度,默认值:TRTCVideoRotation_0,即不旋转。 |
|
abstract |
设置本地画面被暂停期间的替代图片
当您调用 muteLocalVideo(true) 暂停本地画面时,您可以通过调用本接口设置一张替代图片,设置后,房间中的其他用户会看到这张替代图片,而不是黑屏画面。
image | 设置替代图片,空值代表在 muteLocalVideo 之后不再发送视频流数据,默认值为空。 |
fps | 设置替代图片帧率,最小值为5,最大值为10,默认5。 |
|
abstract |
设置变声类型
|
abstract |
添加水印
水印的位置是通过 rect 参数来指定的,rect 是一个四元组参数,其格式为 (x,y,width,height)
参数设置举例: 如果当前视频的编码分辨率是 540 × 960,且 rect 参数被您设置为(0.1,0.1,0.2,0.0), 那么水印的左上坐标点就是(540 × 0.1,960 × 0.1)即(54,96),水印的宽度是 540 × 0.2 = 108px,水印的高度会根据水印图片的宽高比由 SDK 自动算出。
image | 水印图片,**必须使用透明底色的 png 格式** |
streamType | 指定给哪一路画面设置水印,详情请参考TRTCVideoStreamType。 |
rect | 水印相对于编码分辨率的归一化坐标,x,y,width,height 取值范围0 - 1。 |
|
abstract |
设置摄像头缩放倍数(焦距)
|
inlinestatic |
创建 TRTCCloud 实例(单例模式)
|
abstract |
显示仪表盘
“仪表盘”是位于视频渲染控件之上的一个半透明的调试信息浮层,用于展示音视频信息和事件信息,便于对接和调试。
showType | 0:不显示;1:显示精简版(仅显示音视频信息);2:显示完整版(包含音视频信息和事件信息)。 |
|
abstract |
视频画面截图
您可以通过本接口截取本地的视频画面,远端用户的主路画面以及远端用户的辅路(屏幕分享)画面。
userId | 用户 ID,如指定空置表示截取本地的视频画面。 |
streamType | 视频流类型,可选择截取主路画面(TRTCVideoStreamTypeBig,常用于摄像头)或辅路画面(TRTCVideoStreamTypeSub,常用于屏幕分享)。 |
sourceType | 画面来源,可选择截取视频流画面(TRTCSnapshotSourceTypeStream)或视频渲染画面(TRTCSnapshotSourceTypeView),前者一般更清晰。 |
|
abstract |
开始录音
当您调用改接口后, SDK 会将本地和远端的所有音频(包括本地音频,远端音频,背景音乐和音效等)混合并录制到一个本地文件中。 该接口在进入房间前后调用均可生效,如果录制任务在退出房间前尚未通过 stopAudioRecording 停止,则退出房间后录制任务会自动被停止。
param | 录音参数,请参考 TRTCAudioRecordingParams |
|
abstract |
设置音频质量
|
abstract |
开启本地音频的采集和发布
SDK 默认不开启麦克风,当用户需要发布本地音频时,需要调用该接口开启麦克风采集,并将音频编码并发布到当前的房间中。 开启本地音频的采集和发布后,房间中的其他用户会收到 onUserAudioAvailable(userId, true) 的通知。
quality | 声音音质
|
|
abstract |
开启本地摄像头的预览画面(移动端)
在 enterRoom 之前调用此函数,SDK 只会开启摄像头,并一直等到您调用 enterRoom 之后才开始推流。 在 enterRoom 之后调用此函数,SDK 会开启摄像头并自动开始视频推流。 当开始渲染首帧摄像头画面时,您会收到 TRTCCloudDelegate 中的 onCameraDidReady 回调通知。
frontCamera | true:前置摄像头;false:后置摄像头。 |
view | 承载视频画面的控件 |
|
abstract |
|
abstract |
开始向非腾讯云 CDN 上发布音视频流
该接口跟 startPublishing 功能类似,不同之处在于,startPublishing 仅支持向腾讯云的 CDN 发布,而本接口支持向非腾讯云的直播 CDN 上转推音视频流。
param | CDN 转推参数,详情请参考 TRTCPublishCDNParam |
|
abstract |
开始向腾讯云直播 CDN 上发布音视频流
该接口会向 TRTC 服务器发送指令,要求其将当前用户的音视频流旁路到直播 CDN 上。 您可以通过参数 streamId 设定直播流的 StreamId,从而可以指定该用户的音视频流对应在直播 CDN 上的播放地址。 例如:您可以通过该接口将当前用户的直播流 ID 指定为 user_stream_001,那么该用户音视频流对应的 CDN 播放地址为: “http://yourdomain/live/user_stream_001.flv”,其中 yourdomain 为您自己备案的播放域名, 您可以在直播控制台 配置您的播放域名,腾讯云不提供默认的播放域名。 您也可以在设置 enterRoom 的参数 TRTCParams 时指定 streamId, 而且我们更推荐您采用这种方案。
streamId | 自定义流 ID。 |
streamType | 仅支持 TRTCVideoStreamTypeBig 和 TRTCVideoStreamTypeSub。 |
|
abstract |
开始显示远端用户的辅路画面
|
abstract |
订阅远端用户的视频流,并绑定视频渲染控件
调用该接口可以让 SDK 拉取指定 userid 的视频流,并渲染到参数 view 指定的渲染控件上。您可以通过 setRemoteRenderParams 设置画面的显示模式。
调用本接口只是启动视频流的拉取,此时画面还需要加载和缓冲,当缓冲完毕后您会收到来自 onFirstVideoFrame 的通知。
userId | 指定远端用户的 ID。 |
streamType | 指定要观看 userId 的视频流类型:
|
view | 用于承载视频画面的渲染控件 |
|
abstract |
开始显示远端视频画面
|
abstract |
启动屏幕分享
该接口支持抓取整个 Android 系统的屏幕,可以实现类似腾讯会议的全系统级的屏幕分享。 参考文档:实时屏幕分享(Android) Android 推荐的屏幕分享视频编码参数(TRTCVideoEncParam):
streamType | 屏幕分享使用的线路,可以设置为主路(TRTCCloudDef#TRTC_VIDEO_STREAM_TYPE_BIG)或者辅路(TRTCCloudDef#TRTC_VIDEO_STREAM_TYPE_SUB)。 |
encParams | 编码参数,请参考 TRTCCloudDef#TRTCVideoEncParam。如果您指定 encParams 为 null,SDK 会自动使用之前设定的编码参数。 |
shareParams | 请参考 TRTCCloudDef#TRTCScreenShareParams,您可以通过其中的 floatingView 参数弹出悬浮窗(也可以使用 Android 系统的 WindowManager 接口自行弹出)。 |
|
abstract |
启动屏幕分享(Android)
|
abstract |
开始进行网络测速(进入房间前使用)
|
abstract |
开始进行网速测试(进入房间前使用)
params | 测速选项 |
|
abstract |
停止所有音效
|
abstract |
停止订阅所有远端用户的视频流,并释放全部渲染资源
调用此接口会让 SDK 停止接收所有来自远端的视频流,并释放全部的解码和渲染资源。
|
abstract |
停止播放音效
|
abstract |
停止录音
如果录制任务在退出房间前尚未通过本接口停止,则退出房间后录音任务会自动被停止。
|
abstract |
停止播放背景音乐
|
abstract |
停止本地音频的采集和发布
停止本地音频的采集和发布后,房间中的其他用户会收到 onUserAudioAvailable(userId, false) 的通知。
|
abstract |
停止摄像头预览
|
abstract |
停止本地媒体录制
如果录制任务在退出房间前尚未通过本接口停止,则退出房间后录音任务会自动被停止。
|
abstract |
停止向非腾讯云 CDN 上发布音视频流
|
abstract |
停止向腾讯云直播 CDN 上发布音视频流
|
abstract |
停止显示远端用户的辅路画面
|
abstract |
停止显示远端视频画面,同时不再拉取该远端用户的视频数据流
|
abstract |
停止订阅远端用户的视频流,并释放渲染控件
调用此接口会让 SDK 停止接收该用户的视频流,并释放该路视频流的解码和渲染资源。
userId | 指定远端用户的 ID。 |
streamType | 指定要观看 userId 的视频流类型:
|
|
abstract |
停止屏幕分享
|
abstract |
停止网络测速
|
abstract |
切换摄像头
|
abstract |
切换角色
调用本接口可以实现用户在“主播”和“观众”两种角色之间来回切换。 由于视频直播和语音聊天室需要支持多达10万名观众同时观看,所以设定了“只有主播才能发布自己的音视频”的规则。 因此,当有些观众希望发布自己的音视频流(以便能跟主播互动)时,就需要先把自己的角色切换成“主播”。 您可以在进入房间时通过 TRTCParams 中的 role 字段事先确定用户的角色,也可以在进入房间后通过 switchRole 接口动态切换角色。
role | 角色,默认为“主播”:
|
|
abstract |
切换房间
使用该接口可以让用户可以快速从一个房间切换到另一个房间。
该接口适用于在线教育场景中,监课老师在多个房间中进行快速切换的场景。在该场景下使用 switchRoom 可以获得比 exitRoom+enterRoom 更好的流畅性和更少的代码量。 接口调用结果会通过 TRTCCloudDelegate 中的 onSwitchRoom(errCode, errMsg) 回调。
config | 房间参数,详情请参考 TRTCSwitchRoomConfig 。 |
|
abstract |
更新本地摄像头的预览画面
|
abstract |
更新远端用户的视频渲染控件
该接口可用于更新远端视频画面的渲染控件,常被用于切换显示区域的交互场景中。
view | 承载视频画面的控件 |
streamType | 要设置预览窗口的流类型(仅支持 TRTCVideoStreamTypeBig 和 TRTCVideoStreamTypeSub) |
userId | 指定远端用户的 ID。 |