IAudioMixingManager

类型: interface

名称 描述
startAudioMixing() 开启混音
stopAudioMixing() 停止播放音频文件
pauseAudioMixing() 暂停播放音频文件
resumeAudioMixing() 恢复播放音频文件
preloadAudioMixing() 预加载指定音频文件到内存中
unloadAudioMixing() 卸载指定音频文件
setAudioMixingVolume() 调节混音的音量大小,包括音频文件混音和 PCM 混音。
getAudioMixingVolume() 获取音频文件的音量
getAudioMixingDuration() 获取音频文件时长
getAudioMixingCurrentPosition() 获取音频文件播放进度
setAudioMixingPosition() 设置音频文件的起始播放位置
enableAudioMixingBuffer() 启动 PCM 音频数据混音
disableAudioMixingBuffer() 关闭 PCM 混音
pushAudioMixingBuffer() 推送 PCM 音频数据用于混音

startAudioMixing()

开启混音

ts (id: number, filePath: string, options: MixOption) => Promise<void>

类型: Promise<void>

stopAudioMixing()

停止播放音频文件

ts (id: number) => void

pauseAudioMixing()

暂停播放音频文件

ts (id: number) => void

resumeAudioMixing()

恢复播放音频文件

ts (id: number) => void

调用 pauseAudioMixing 方法暂停播放音频文件后,可以通过调用本方法恢复播放及混音。

preloadAudioMixing()

预加载指定音频文件到内存中

ts (id: number, filePath: string) => Promise<void>

类型: Promise<void>

unloadAudioMixing()

卸载指定音频文件

ts (id: number) => void

setAudioMixingVolume()

调节混音的音量大小,包括音频文件混音和 PCM 混音。

ts (id: number, volume: number) => void

getAudioMixingVolume()

获取音频文件的音量

ts (id: number) => number

类型: number


getAudioMixingDuration()

获取音频文件时长

ts (id: number) => number

调用本方法获取音频文件时长前,需要先调用 preloadAudioMixing 或 startAudioMixing。

类型: number


getAudioMixingCurrentPosition()

获取音频文件播放进度

ts (id: number) => number

调用本方法获取音频文件播放进度前,需要先调用 startAudioMixing 开始播放音频文件。

类型: number


setAudioMixingPosition()

设置音频文件的起始播放位置

ts (id: number, position: number) => void

enableAudioMixingBuffer()

启动 PCM 音频数据混音

ts (type: AudioMixingType) => void

disableAudioMixingBuffer()

关闭 PCM 混音

ts () => void

pushAudioMixingBuffer()

推送 PCM 音频数据用于混音

ts (buffer: AudioBuffer) => void

调用该方法前,须通过 enableAudioMixingFrame 启动外部音频流混音。

IRTCEngine

类型: interface

名称 描述
joinRoom() 加入房间。

调用此方法加入房间,同房间内其他用户进行音视频通话。
leaveRoom() 离开房间。

用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。
destroy() 销毁 createEngine 所创建引擎实例,并释放所有相关资源。
publish() 在当前所在房间内手动开始发布本地音视频流
unpublish() 在当前所在房间内停止发布本地音视频流。
subscribeUserStream() 订阅房间内指定的远端音视频流。

无论自动订阅还是手动订阅模式,你都可以调用此方法按需订阅房间中的音视频流。

该方法也可用于更新已经订阅的流的属性、媒体类型等配置。
unSubscribe() 停止订阅指定的房间内远端音视频流。
无论自动订阅还是手动订阅模式,你都可以调用此方法取消已订阅的音视频流。
updateToken() 更新 Token。

用于加入房间的 Token 有一定的有效期。当 Token 过期时,需要调用此方法更新房间的 Token 信息。
switchMicrophone() 切换内部采集时使用的麦克风
switchCamera() 切换内部采集时使用的摄像头

默认摄像头由浏览器指定。
startVideoCapture() 立即开启内部视频采集。默认为关闭状态。

内部视频采集是指:使用 RTC SDK 内置的视频采集机制进行视频采集。
发布流后调用该方法,房间中的其他用户会收到 onUserStartVideoCapture 的回调。
stopVideoCapture() 关闭内部视频采集。默认为关闭状态。

内部视频采集指:使用 RTC SDK 内置视频采集模块,进行采集。

发布流后调用该方法,房间中的其他用户会收到 onUserStopVideoCapture 的回调。
startAudioCapture() 立即开启内部音频采集。默认为关闭状态。

内部采集是指:使用 RTC SDK 内置的视频采集机制进行视频采集。
发布流后调用该方法,房间中的其他用户会收到 onUserStartAudioCapture 的回调。
stopAudioCapture() 立即关闭内部音频采集。默认为关闭状态。

内部采集是指:使用 RTC SDK 内置的视频采集机制进行视频采集。
调用该方法,本地用户会收到 onUserStopAudioCapture 的回调。
startScreenCapture() 使用内部采集模块,采集当前屏幕视频流,用于共享。
stopScreenCapture() 停止屏幕共享流内部采集。
publishScreen() 发布本地屏幕共享流。
unpublishScreen() 停止发布本地屏幕共享流。
setLocalVideoPlayer() 设置本地视频渲染时,使用的视图,并设置渲染模式。
调用本方法绑定视图以后,你可以通过 onPlayerEvent 来监听播放状态。
你可以通过再次调用本方法,并绑定空视图来解除绑定。
setRemoteVideoPlayer() 设置远端视频渲染时,使用的视图,并设置渲染模式。
建议在收到 onVideoFirstFrameRendered 事件后,调用本方法对远端视频视图进行设置。
你可以通过再次调用本方法,并绑定空视图来解除绑定。
setLocalVideoMirrorType() 是否开启本地视频流镜像模式。
setAudioPlaybackDevice() 设置音频播放设备,例如扬声器或者耳机,默认使用扬声器。
play() 手动开启音视频流播放
进房时未开启自动播放或自动播放失败时,可以调用本方法手动开启音视频流播放。
muteLocalAudio() 控制本地音频流的发送状态:发送/不发送。

非隐身用户使用此方法后,房间中的其他用户会收到回调 onUserMuteAudio。
muteLocalVideo() 控制本地视频流的发送状态:发送/不发送。

无论你使用内部视频采集,还是自定义视频采集,你都应使用此接口启动发送本地视频流。

非隐身用户使用此方法后,房间中的其他用户会收到回调 onUserMuteAudio。
pauseAllSubscribedStream() 暂停接收来自远端的媒体流。
resumeAllSubscribedStream() 恢复接收来自远端的媒体流
sendUserMessage() 给房间内指定的用户发送点对点文本消息。

若消息发送成功,则 userId 所指定的用户会收到 onUserMessageReceived 回调。
sendUserBinaryMessage() 给房间内指定的用户发送点对点二进制消息。

若消息发送成功,则 userId 所指定的用户会收到 onUserBinaryMessageReceived 回调。
sendRoomMessage() 给房间内的所有其他用户群发文本消息。

若消息发送成功,同一房间内的其他用户会收到 onRoomMessageReceived 回调。
sendRoomBinaryMessage() 给房间内的所有其他用户群发二进制消息。

若消息发送成功,同一房间内的其他用户会收到通过 onRoomBinaryMessageReceived 回调发送的消息
sendSEIMessage() 在视频通信时,通过视频帧发送 SEI 数据。
setVideoEncoderConfig() 启动推送多路视频流,设置推送多路流时的各路视频参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。
setAudioVolumeIndicationInterval() 开启/关闭音量提示。默认关闭。

开启音量提示后,将按设置的时间间隔,收到本地采集音量或订阅的远端用户的音量信息回调。
关于回调的具体信息,参看 onAudioVolumeIndication。
startLiveTranscoding() 开启转推直播,并设置合流的视频视图布局和音频属性。
updateLiveTranscoding() 更新转推直播参数。
使用 startLiveTranscoding 启用转推直播功能后,使用此方法更新功能配置参数。
stopLiveTranscoding() 停止转推直播。
关于启动转推直播,参看 startLiveTranscoding。
setBusinessId() 设置业务标识参数
可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。
setUserVisibility() 设置用户可见性。默认可见。
setExternalVideoTrack() 使用用户自定义的 videoTrack
请确保在你调用本方法前已调用 setVideoSourceType 设置为自定义视频采集。
setExternalAudioTrack() 使用用户自定义的 audioTrack
使用自定义的 audioTrack 之后, 再开启摄像头,或者切换摄像头时。SDK 会采集新的视频流替换自定义的 audioTrack
setVideoSourceType() 设置向 SDK 输入的视频源
默认使用内部采集。内部采集指:使用 RTC SDK 内置的视频采集机制进行视频采集。
该方法进房前后均可调用。
当你已调用 startVideoCapture 开启内部采集后,再调用此方法切换至自定义采集时,SDK 会自动关闭内部采集。
当你调用此方法开启自定义采集后,想要切换至内部采集,你必须先调用此方法关闭自定义采集,然后调用 startVideoCapture 手动开启内部采集
setAudioSourceType() 设置向 SDK 输入的音频源
默认使用内部采集。内部采集指:使用 RTC SDK 内置的音频采集机制进行音频采集。
该方法进房前后均可调用。
当你已调用 startAudioCapture 开启内部采集后,再调用此方法切换至自定义采集时,SDK 会自动关闭内部采集。
当你调用此方法开启自定义采集后,想要切换至内部采集,你必须先调用此方法关闭自定义采集,然后调用 startAudioCapture 手动开启内部采集
getAudioMixingManager() 混音管理接口创建
setAudioCaptureConfig() 设置 RTC SDK 内部采集时的音频采集参数。默认参数由浏览器决定。
setVideoCaptureConfig() 设置 RTC SDK 内部采集时的视频采集参数。默认参数由浏览器决定。
login() 登录即时消息服务器
调用此方法登录后,可以向同 appID 下其他已登陆用户发送文本或二进制消息。
logout() 调用本接口登出后,无法调用房间外消息以及端到服务器消息相关的方法或收到相关回调。
updateLoginToken() 更新用户用于登录的 Token。Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。
getPeerOnlineStatus() 查询对端用户或本端用户的登录状态。在发送房间外消息之前,用户可以通过本接口了解对端用户是否登录,从而决定是否发送消息。也可以通过本接口查询自己查看自己的登录状态。
sendUserMessageOutsideRoom() 给房间外指定的用户发送文本消息(P2P)
sendUserBinaryMessageOutsideRoom() 给房间外指定的用户发送二进制消息(P2P)
setServerParams() 设置业务服务器参数。调用 sendServerMessage 或 sendServerBinaryMessage 发送消息给业务服务器之前,必须需要设置有效签名和业务服务器地址。
sendServerMessage() 客户端给业务服务器发送文本消息(P2Server)
sendServerBinaryMessage() 客户端给业务服务器发送二进制消息(P2Server)
startCloudProxy() 开启云代理
stopCloudProxy() 关闭云代理
startPushPublicStream() 发布一路公共流。
公共流是指不属于任何房间,也不属于任何用户的媒体流。使用同一 appID 的用户,可以调用 startPlayPublicStream 获取和播放指定的公共流。
updatePublicStreamParam() 更新公共流参数。
调用 startPushPublicStream 发布一路公共流。
stopPushPublicStream() 停止发布公共流。
调用 startPushPublicStream 发布一路公共流。
startPlayPublicStream() 订阅指定公共流。
无论用户是否在房间内,都可以调用本接口获取和播放指定的公共流。
stopPlayPublicStream() 取消订阅指定公共流。
关于订阅公共流,查看 startPlayPublicStream:#ByteRTCEngineKit#startPlayPublicStream:。
setPublicStreamVideoPlayer() 为指定公共流设置使用的视图和渲染模式。
defaultTranscoding() 获取合流转推默认参数。

joinRoom()

加入房间。

调用此方法加入房间,同房间内其他用户进行音视频通话。

ts (token: string | null, roomId: string, userInfo: UserInfo, roomConfig: RoomConfig) => Promise<void>

类型: Promise<void>

leaveRoom()

离开房间。

用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。

ts (waitAck?: boolean) => Promise<void>

类型: Promise<void>

destroy()

销毁 createEngine 所创建引擎实例,并释放所有相关资源。

ts () => void

publish()

在当前所在房间内手动开始发布本地音视频流

ts () => Promise<void>

类型: Promise<void>

unpublish()

在当前所在房间内停止发布本地音视频流。

ts () => Promise<void>

类型: Promise<void>

subscribeUserStream()

订阅房间内指定的远端音视频流。

无论自动订阅还是手动订阅模式,你都可以调用此方法按需订阅房间中的音视频流。

该方法也可用于更新已经订阅的流的属性、媒体类型等配置。

ts (userId: string, mediaType: SubscribeMediaType, streamType?: StreamIndex, configure?: SubscribeVideoConfig) => Promise<void>

类型: Promise<void>

unSubscribe()

停止订阅指定的房间内远端音视频流。
无论自动订阅还是手动订阅模式,你都可以调用此方法取消已订阅的音视频流。

ts (userId: string, isScreen: boolean) => Promise<void>

无论是否订阅了指定的远端音视频流,都可以调用此方法。userId 无效或未订阅时,SDK 不会做任何处理,没有负面影响。

类型: Promise<void>

updateToken()

更新 Token。

用于加入房间的 Token 有一定的有效期。当 Token 过期时,需要调用此方法更新房间的 Token 信息。

ts (token: string) => void

switchMicrophone()

切换内部采集时使用的麦克风

ts (deviceId: string) => Promise<void>

如果你正在使用麦克风进行音频采集,切换操作当即生效;如果麦克风未启动,后续开启内部采集时,会打开设定的麦克风。

类型: Promise<void>

switchCamera()

切换内部采集时使用的摄像头

默认摄像头由浏览器指定。

ts (deviceId: string) => Promise<void>

如果你正在使用相机进行视频采集,切换操作当即生效;如果相机未启动,后续开启内部采集时,会打开设定的摄像头。

类型: Promise<void>

startVideoCapture()

立即开启内部视频采集。默认为关闭状态。

内部视频采集是指:使用 RTC SDK 内置的视频采集机制进行视频采集。
发布流后调用该方法,房间中的其他用户会收到 onUserStartVideoCapture 的回调。

ts (deviceId?: string) => Promise<void>

类型: Promise<void>

stopVideoCapture()

关闭内部视频采集。默认为关闭状态。

内部视频采集指:使用 RTC SDK 内置视频采集模块,进行采集。

发布流后调用该方法,房间中的其他用户会收到 onUserStopVideoCapture 的回调。

ts () => Promise<void>

类型: Promise<void>

startAudioCapture()

立即开启内部音频采集。默认为关闭状态。

内部采集是指:使用 RTC SDK 内置的视频采集机制进行视频采集。
发布流后调用该方法,房间中的其他用户会收到 onUserStartAudioCapture 的回调。

ts (deviceId?: string) => Promise<void>

类型: Promise<void>

stopAudioCapture()

立即关闭内部音频采集。默认为关闭状态。

内部采集是指:使用 RTC SDK 内置的视频采集机制进行视频采集。
调用该方法,本地用户会收到 onUserStopAudioCapture 的回调。

ts () => Promise<void>

类型: Promise<void>

startScreenCapture()

使用内部采集模块,采集当前屏幕视频流,用于共享。

ts (screenConfig?: ScreenConfig) => Promise<void>

类型: Promise<void>

stopScreenCapture()

停止屏幕共享流内部采集。

ts () => Promise<void>

调用该接口后远端会收到 onStreamRemove 事件

类型: Promise<void>

publishScreen()

发布本地屏幕共享流。

ts () => Promise<void>

类型: Promise<void>

unpublishScreen()

停止发布本地屏幕共享流。

ts () => Promise<void>

类型: Promise<void>

setLocalVideoPlayer()

设置本地视频渲染时,使用的视图,并设置渲染模式。
调用本方法绑定视图以后,你可以通过 onPlayerEvent 来监听播放状态。
你可以通过再次调用本方法,并绑定空视图来解除绑定。

ts (streamIndex: StreamIndex, videoPlayerOption?: VideoPlayerOption) => HTMLVideoElement | undefined

你应在加入房间后,绑定视图。退出房间后,此设置仍然有效。

类型: HTMLVideoElement | undefined

setRemoteVideoPlayer()

设置远端视频渲染时,使用的视图,并设置渲染模式。
建议在收到 onVideoFirstFrameRendered 事件后,调用本方法对远端视频视图进行设置。
你可以通过再次调用本方法,并绑定空视图来解除绑定。

ts (streamIndex: StreamIndex, videoPlayerOption: VideoPlayerOption) => HTMLVideoElement | undefined

你应在加入房间后,绑定视图。退出房间后,此设置仍然有效。

类型: HTMLVideoElement | undefined

setLocalVideoMirrorType()

是否开启本地视频流镜像模式。

ts (mirrorType: MirrorType) => void

setAudioPlaybackDevice()

设置音频播放设备,例如扬声器或者耳机,默认使用扬声器。

ts (deviceId: string) => Promise<void>

进房前和进房后,均可调用此方法设置音频播放设备。

类型: Promise<void>

play()

手动开启音视频流播放
进房时未开启自动播放或自动播放失败时,可以调用本方法手动开启音视频流播放。

ts (userId: string) => Promise<void>

类型: Promise<void>

muteLocalAudio()

控制本地音频流的发送状态:发送/不发送。

非隐身用户使用此方法后,房间中的其他用户会收到回调 onUserMuteAudio。

ts (muteState: MuteState) => Promise<boolean>

类型: Promise<boolean>

muteLocalVideo()

控制本地视频流的发送状态:发送/不发送。

无论你使用内部视频采集,还是自定义视频采集,你都应使用此接口启动发送本地视频流。

非隐身用户使用此方法后,房间中的其他用户会收到回调 onUserMuteAudio。

ts (muteState: MuteState) => Promise<boolean>

类型: Promise<boolean>

本地视频发送状态

pauseAllSubscribedStream()

暂停接收来自远端的媒体流。

ts (mediaType: PauseResumeControlMediaType) => Promise<void>

类型: Promise<void>

resumeAllSubscribedStream()

恢复接收来自远端的媒体流

ts (mediaType: PauseResumeControlMediaType) => Promise<void>

类型: Promise<void>

sendUserMessage()

给房间内指定的用户发送点对点文本消息。

若消息发送成功,则 userId 所指定的用户会收到 onUserMessageReceived 回调。

ts (userId: string, message: string) => Promise<unknown> | undefined

在发送房间内文本消息前,必须先调用 joinRoom 加入房间。

类型: Promise<unknown> | undefined

sendUserBinaryMessage()

给房间内指定的用户发送点对点二进制消息。

若消息发送成功,则 userId 所指定的用户会收到 onUserBinaryMessageReceived 回调。

ts (userId: string, message: ArrayBuffer) => Promise<unknown>

在发送房间内二进制消息前,必须先调用 joinRoom 加入房间。

类型: Promise<unknown>

sendRoomMessage()

给房间内的所有其他用户群发文本消息。

若消息发送成功,同一房间内的其他用户会收到 onRoomMessageReceived 回调。

ts (message: string) => Promise<any> | undefined

类型: Promise<any> | undefined

sendRoomBinaryMessage()

给房间内的所有其他用户群发二进制消息。

若消息发送成功,同一房间内的其他用户会收到通过 onRoomBinaryMessageReceived 回调发送的消息

ts (message: ArrayBuffer) => Promise<any> | undefined

类型: Promise<any> | undefined

sendSEIMessage()

在视频通信时,通过视频帧发送 SEI 数据。

ts (streamIndex: StreamIndex, message: Uint8Array | string, repeatCount: number) => void

setVideoEncoderConfig()

启动推送多路视频流,设置推送多路流时的各路视频参数,包括分辨率、帧率、码率、缩放模式、网络不佳时的回退策略等。

ts (streamIndex: StreamIndex, descriptions: VideoEncoderConfig[]) => Promise<void>

类型: Promise<void>

setAudioVolumeIndicationInterval()

开启/关闭音量提示。默认关闭。

开启音量提示后,将按设置的时间间隔,收到本地采集音量或订阅的远端用户的音量信息回调。
关于回调的具体信息,参看 onAudioVolumeIndication。

ts (interval?: number) => void

startLiveTranscoding()

开启转推直播,并设置合流的视频视图布局和音频属性。

ts (transcode: LiveTranscodeConfig) => Promise<void>

类型: Promise<void>

updateLiveTranscoding()

更新转推直播参数。
使用 startLiveTranscoding 启用转推直播功能后,使用此方法更新功能配置参数。

ts (transcode: Partial<LiveTranscodeConfig>) => Promise<void>

类型: Promise<void>

stopLiveTranscoding()

停止转推直播。
关于启动转推直播,参看 startLiveTranscoding。

ts () => Promise<void>

类型: Promise<void>

setBusinessId()

设置业务标识参数
可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。

ts (businessId: string) => boolean

需要在调用 joinRoom 之前调用,joinRoom 之后调用该方法无效。

类型: boolean

setUserVisibility()

设置用户可见性。默认可见。

ts (enable: boolean) => Promise<void>

类型: Promise<void>

setExternalVideoTrack()

使用用户自定义的 videoTrack
请确保在你调用本方法前已调用 setVideoSourceType 设置为自定义视频采集。

ts (index: StreamIndex, track: MediaStreamTrack) => Promise<void>

类型: Promise<void>

setExternalAudioTrack()

使用用户自定义的 audioTrack
使用自定义的 audioTrack 之后, 再开启摄像头,或者切换摄像头时。SDK 会采集新的视频流替换自定义的 audioTrack

ts (index: StreamIndex, track: MediaStreamTrack) => Promise<void>

类型: Promise<void>

setVideoSourceType()

设置向 SDK 输入的视频源
默认使用内部采集。内部采集指:使用 RTC SDK 内置的视频采集机制进行视频采集。
该方法进房前后均可调用。
当你已调用 startVideoCapture 开启内部采集后,再调用此方法切换至自定义采集时,SDK 会自动关闭内部采集。
当你调用此方法开启自定义采集后,想要切换至内部采集,你必须先调用此方法关闭自定义采集,然后调用 startVideoCapture 手动开启内部采集

ts (index: StreamIndex, videoSourceType: VideoSourceType) => Promise<void>

类型: Promise<void>

setAudioSourceType()

设置向 SDK 输入的音频源
默认使用内部采集。内部采集指:使用 RTC SDK 内置的音频采集机制进行音频采集。
该方法进房前后均可调用。
当你已调用 startAudioCapture 开启内部采集后,再调用此方法切换至自定义采集时,SDK 会自动关闭内部采集。
当你调用此方法开启自定义采集后,想要切换至内部采集,你必须先调用此方法关闭自定义采集,然后调用 startAudioCapture 手动开启内部采集

ts (index: StreamIndex, audioSourceType: AudioSourceType) => Promise<void>

类型: Promise<void>

getAudioMixingManager()

混音管理接口创建

ts () => IAudioMixingManager

类型: IAudioMixingManager

混音管理对象

setAudioCaptureConfig()

设置 RTC SDK 内部采集时的音频采集参数。默认参数由浏览器决定。

ts (config: TrackCaptureConfig) => Promise<void>

类型: Promise<void>

setVideoCaptureConfig()

设置 RTC SDK 内部采集时的视频采集参数。默认参数由浏览器决定。

ts (config: TrackCaptureConfig) => Promise<void>

类型: Promise<void>

login()

登录即时消息服务器
调用此方法登录后,可以向同 appID 下其他已登陆用户发送文本或二进制消息。

ts (token: string | null, userId: string) => Promise<void>

类型: Promise<void>

logout()

调用本接口登出后,无法调用房间外消息以及端到服务器消息相关的方法或收到相关回调。

ts () => Promise<void>

类型: Promise<void>

updateLoginToken()

更新用户用于登录的 Token。Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。

ts (token: string | null) => Promise<void>

类型: Promise<void>

getPeerOnlineStatus()

查询对端用户或本端用户的登录状态。在发送房间外消息之前,用户可以通过本接口了解对端用户是否登录,从而决定是否发送消息。也可以通过本接口查询自己查看自己的登录状态。

ts (userId: string) => Promise<USER_ONLINE_STATUS>

必须调用 login#login 登录后,才能调用本接口。

类型: Promise<USER_ONLINE_STATUS>

sendUserMessageOutsideRoom()

给房间外指定的用户发送文本消息(P2P)

ts (userId: string, message: string) => Promise<any>

类型: Promise<any>

sendUserBinaryMessageOutsideRoom()

给房间外指定的用户发送二进制消息(P2P)

ts (userId: string, message: ArrayBuffer) => Promise<any>

类型: Promise<any>

setServerParams()

设置业务服务器参数。调用 sendServerMessage 或 sendServerBinaryMessage 发送消息给业务服务器之前,必须需要设置有效签名和业务服务器地址。

ts (signature: string, url: string) => Promise<any>

用户必须调用 login 登录后,才能调用本接口。

类型: Promise<any>

sendServerMessage()

客户端给业务服务器发送文本消息(P2Server)

ts (message: string) => Promise<any>

在向业务服务器发送文本消息前,必须先调用 login#login 完成登录,随后调用 setServerParams#setServerParams 设置业务服务器。

类型: Promise<any>

sendServerBinaryMessage()

客户端给业务服务器发送二进制消息(P2Server)

ts (message: ArrayBuffer) => Promise<any>

在向业务服务器发送文本消息前,必须先调用 login#login 完成登录,随后调用 setServerParams#setServerParams 设置业务服务器。

类型: Promise<any>

startCloudProxy()

开启云代理

ts (cloudProxyInfo: any) => void


stopCloudProxy()

关闭云代理

ts () => void

要开启云代理,调用 startCloudProxy。

startPushPublicStream()

发布一路公共流。
公共流是指不属于任何房间,也不属于任何用户的媒体流。使用同一 appID 的用户,可以调用 startPlayPublicStream 获取和播放指定的公共流。

ts (publicStreamId: string, publicStreamParam: PublicStreamConfig) => Promise<void>

类型: Promise<void>

updatePublicStreamParam()

更新公共流参数。
调用 startPushPublicStream 发布一路公共流。

ts (publicStreamId: string, publicStreamParam: Partial<PublicStreamConfig>) => Promise<void>

类型: Promise<void>

stopPushPublicStream()

停止发布公共流。
调用 startPushPublicStream 发布一路公共流。

ts (publicStreamId: string) => Promise<void>

类型: Promise<void>

startPlayPublicStream()

订阅指定公共流。
无论用户是否在房间内,都可以调用本接口获取和播放指定的公共流。

ts (publicStreamId: string) => Promise<void>

类型: Promise<void>

stopPlayPublicStream()

取消订阅指定公共流。
关于订阅公共流,查看 startPlayPublicStream:#ByteRTCEngineKit#startPlayPublicStream:。

ts (publicStreamId: string) => Promise<void>

类型: Promise<void>

setPublicStreamVideoPlayer()

为指定公共流设置使用的视图和渲染模式。

ts (publicStreamId: string, videoPlayerOption: Omit<VideoPlayerOption, 'userId'>) => void

defaultTranscoding()

获取合流转推默认参数。

ts () => Required<LiveTranscodeConfig>

类型: Required<LiveTranscodeConfig>

转推直播默认音视频参数

IVERTC

类型: interface

名称 描述
enableDevices() 向用户获取设备权限
getMicrophones() 该方法枚举可用的麦克风。
可以通过该方法获取设备的 deviceId, 可用于 startAudioCapture 方法中指定采集/播放设备。
getCameras() 该方法枚举可用的摄像头等。
可以通过该方法获取设备的 deviceId, 可用于 startVideoCapture 方法中指定采集/播放设备。
getAudioPlayback() 该方法枚举可用的音频输出设备,例如耳机、音箱等。
可以通过该方法获取设备的 deviceId, 可用于 setAudioPlaybackDevice 方法中指定采集/播放设备。
isSupported() 浏览器是否支持
getSupportedCodecs() 获取当前浏览器支持的编解码类型。
若你已开通 vp8 业务,可以在进房前调用该接口查看当前浏览器是否支持 vp8 编码类型
createEngine() 创建引擎对象。
你必须先使用此方法,以使用 RTC 提供的各种音视频能力。
再次调用此方法时,会创建另一个独立的引擎实例。
destroyEngine() 手动销毁通过 createEngine 所创建的引擎对象。
getSdkVersion() 获取 SDK 当前的版本号。
getDevices() 该方法枚举可用的媒体输入和输出设备,比如麦克风、摄像头、耳机等。
可以通过该方法获取设备的 deviceId, 可用于 setAudioPlaybackDevice, startVideoCapture, startAudioCapture 方法中指定采集/播放设备。

enableDevices()

向用户获取设备权限

ts (options?: { video: boolean; audio: boolean;}) => Promise<{ video: boolean; audio: boolean;}>

类型: Promise<{ video: boolean; audio: boolean; }>

getMicrophones()

该方法枚举可用的麦克风。
可以通过该方法获取设备的 deviceId, 可用于 startAudioCapture 方法中指定采集/播放设备。

ts () => Promise<RTCDevice[]>

类型: Promise<RTCDevice[]>

所有的麦克风设备列表。

getCameras()

该方法枚举可用的摄像头等。
可以通过该方法获取设备的 deviceId, 可用于 startVideoCapture 方法中指定采集/播放设备。

ts () => Promise<RTCDevice[]>

类型: Promise<RTCDevice[]>

所有的摄像头设备列表。

getAudioPlayback()

该方法枚举可用的音频输出设备,例如耳机、音箱等。
可以通过该方法获取设备的 deviceId, 可用于 setAudioPlaybackDevice 方法中指定采集/播放设备。

ts () => Promise<RTCDevice[]>

类型: Promise<RTCDevice[]>

所有的设备列表。

isSupported()

浏览器是否支持

ts () => Promise<boolean>

类型: Promise<boolean>

getSupportedCodecs()

获取当前浏览器支持的编解码类型。
若你已开通 vp8 业务,可以在进房前调用该接口查看当前浏览器是否支持 vp8 编码类型

ts () => Promise<string[]>

类型: Promise<string[]>

当前浏览器支持的编解码类型

createEngine()

创建引擎对象。
你必须先使用此方法,以使用 RTC 提供的各种音视频能力。
再次调用此方法时,会创建另一个独立的引擎实例。

ts (appId: string) => IRTCEngine

类型: IRTCEngine

创建成功后返回一个可用的 IRTCEngine 实例

destroyEngine()

手动销毁通过 createEngine 所创建的引擎对象。

ts (engine: IRTCEngine) => void

getSdkVersion()

获取 SDK 当前的版本号。

ts () => string

类型: string

SDK 当前的版本号

getDevices()

该方法枚举可用的媒体输入和输出设备,比如麦克风、摄像头、耳机等。
可以通过该方法获取设备的 deviceId, 可用于 setAudioPlaybackDevice, startVideoCapture, startAudioCapture 方法中指定采集/播放设备。

ts () => Promise<RTCDevice[]>

类型: Promise<RTCDevice[]>

媒体设备列表。