最近更新时间:2024.04.22 17:52:21
首次发布时间:2021.07.18 14:07:48
方法 | 描述 |
---|---|
createRTCVideo:delegate:parameters: | 创建引擎对象。 如果当前进程中未创建引擎实例,那么你必须先使用此方法,以使用 RTC 提供的各种音视频能力。 如果当前进程中已创建了引擎实例,再次调用此方法时,会返回已创建的引擎实例。 |
destroyRTCVideo | 销毁由 createRTCVideo:delegate:parameters: 所创建的引擎实例,并释放所有相关资源。 |
getSDKVersion | 获取 SDK 当前的版本号。 |
feedback:info: | 通话结束,将用户反馈的问题上报到 RTC。 |
getErrorDescription: | 获取 SDK 内各种错误码、警告码的描述文字。 |
setBusinessId: | 设置业务标识参数 可通过 businessId 区分不同的业务场景。businessId 由客户自定义,相当于一个“标签”,可以分担和细化现在 AppId 的逻辑划分的功能,但不需要鉴权。 |
setRuntimeParameters: | 设置运行时的参数 |
setLogConfig: | 配置 SDK 本地日志参数,包括日志级别、存储路径、日志文件最大占用的总空间、日志文件名前缀。 |
方法 | 描述 |
---|---|
createRTCRoom: | 创建房间实例。 调用此方法仅返回一个房间实例,你仍需调用 joinRoom:userInfo:roomConfig: 才能真正地创建/加入房间。 多次调用此方法以创建多个 ByteRTCRoom 实例。分别调用各 ByteRTCRoom 实例中的 joinRoom:userInfo:roomConfig: 方法,同时加入多个房间。 多房间模式下,用户可以同时订阅各房间的音视频流。 |
destroy | 退出并销毁调用 createRTCRoom: 所创建的房间实例。 |
setRTCRoomDelegate: | 通过设置 ByteRTCRoom 对象的事件句柄,监听此对象对应的回调事件。 |
joinRoom:userInfo:roomConfig: | 加入房间。 调用 createRTCRoom: 创建房间后,调用此方法加入房间,同房间内其他用户进行音视频通话。 |
setRoomExtraInfo:value: | 设置/更新房间附加信息,可用于标识房间状态或属性,或灵活实现各种业务逻辑。 |
leaveRoom | 离开房间。 用户调用此方法离开房间,结束通话过程,释放所有通话相关的资源。 |
setUserVisibility: | 设置用户可见性。未调用该接口前,本地用户默认对他人可见。 默认情况下,一个 RTC 房间最多同时容纳 50 名可见用户,最多 30 人可同时上麦。更多信息参看用户和媒体流上限。 |
updateToken: | 更新 Token。 收到 onTokenWillExpire:,onPublishPrivilegeTokenWillExpire:,或 onSubscribePrivilegeTokenWillExpire: 时,你必须重新获取 Token,并调用此方法更新 Token,以保证通话的正常进行。 |
方法 | 描述 |
---|---|
startVideoCapture | 立即开启内部视频采集。默认为关闭状态。 内部视频采集指:使用 RTC SDK 内置视频采集模块,进行采集。 调用该方法后,本地用户会收到 rtcEngine:onVideoDeviceStateChanged:device_type:device_state:device_error: 的回调。 可见用户进房后调用该方法,房间中的其他用户会收到 rtcEngine:onUserStartVideoCapture:uid: 的回调。 |
stopVideoCapture | 立即关闭内部视频采集。默认为关闭状态。 内部视频采集指:使用 RTC SDK 内置视频采集模块,进行采集。 调用该方法后,本地用户会收到 rtcEngine:onVideoDeviceStateChanged:device_type:device_state:device_error: 的回调。 可见用户进房后调用该方法,房间中的其他用户会收到 rtcEngine:onUserStopVideoCapture:uid: 的回调。 |
setVideoCaptureConfig: | 设置 RTC SDK 内部采集时的视频采集参数。 如果你的项目使用了 SDK 内部采集模块,可以通过本接口指定视频采集参数包括模式、分辨率、帧率。 |
setLocalVideoCanvas:withCanvas: | 设置本地视频渲染时使用的视图,并设置渲染模式。 |
updateLocalVideoCanvas:withRenderMode:withBackgroundColor: | 修改本地视频渲染模式和背景色。 |
setRemoteVideoCanvas:withCanvas: | 渲染来自指定远端用户 uid 的视频流时,设置使用的视图和渲染模式。 如果需要解除视频的绑定视图,把 canvas.view 设置为空。(canvas 中其他参数不能为空。) |
enumerateVideoCaptureDevices | 获取视频采集设备列表。 |
getVideoCaptureDevice: | 获取当前 SDK 正在使用的视频采集设备信息 |
setVideoCaptureDevice: | 设置当前视频采集设备 |
setVideoEncoderConfig: | 视频发布端设置推送多路流时各路流的参数,包括分辨率、帧率、码率、网络不佳时的回退策略等。 |
setMaxVideoEncoderConfig: | 视频发布端设置期望发布的最大分辨率视频流参数,包括分辨率、帧率、码率、网络不佳时的回退策略等。 该接口支持设置一路视频流参数,设置多路参数请使用 setVideoEncoderConfig:。 |
getVideoDeviceManager | 创建视频设备管理实例 |
方法 | 描述 |
---|---|
setVoiceChangerType: | 设置变声特效类型 |
setVoiceReverbType: | 设置混响特效类型 |
setLocalVoicePitch: | 开启本地语音变调功能,多用于 K 歌场景。 使用该方法,你可以对本地语音的音调进行升调或降调等调整。 |
setLocalVoiceEqualization: | 设置本地采集语音的均衡效果。包含内部采集和外部采集,但不包含混音音频文件。 |
setLocalVoiceReverbParam: | 设置本地采集音频的混响效果。包含内部采集和外部采集,但不包含混音音频文件。 |
enableLocalVoiceReverb: | 开启本地音效混响效果 |
方法 | 描述 |
---|---|
enableSimulcastMode: | 该方法设置视频流发布端是否开启发布多路编码参数不同的视频流的模式。 |
setRemoteVideoConfig:remoteVideoConfig: | 设置期望订阅的远端视频流的参数。 |
setPublishFallbackOption: | 设置发布的音视频流的回退选项。 你可以调用该接口设置网络不佳或设备性能不足时从大流起进行降级处理,以保证通话质量。 |
setSubscribeFallbackOption: | 设置订阅的音视频流的回退选项。 你可调用该接口设置网络不佳或设备性能不足时允许订阅流进行降级或只订阅音频流,以保证通话流畅。 |
setRemoteUserPriority:InRoomId:uid: | 设置用户优先级。 |
startNetworkDetection:uplinkBandwidth:downlink:downlinkBandwidth: | 开始通话前网络探测 |
stopNetworkDetection | 停止通话前网络探测 |
startEchoTest:playDelay: | 开启音视频回路测试。 在进房前,用户可调用该接口对音视频通话全链路进行检测,包括对音视频设备以及用户上下行网络的检测,从而帮助用户判断是否可以正常发布和接收音视频流。 开始检测后,SDK 会录制你声音或视频。如果你在设置的延时范围内收到了回放,则视为音视频回路测试正常。 |
stopEchoTest | 停止音视频回路测试。 调用 startEchoTest:playDelay: 开启音视频回路检测后,你必须调用该方法停止检测。 |
getNetworkTimeInfo | 通过 NTP 协议,获取网络时间。 |
方法 | 描述 |
---|---|
sendRoomMessage: | 给房间内的所有其他用户群发文本消息。 |
sendRoomBinaryMessage: | 给房间内的所有其他用户群发二进制消息。 |
sendUserMessage:message:config: | 给房间内指定的用户发送点对点文本消息(P2P)。 |
sendUserBinaryMessage:message:config: | 给房间内指定的用户发送点对点二进制消息(P2P)。 |
login:uid: | 登录 RTS 服务器。 必须先登录,才能调用 sendUserMessageOutsideRoom:message:config: 和 sendServerMessage: 发送房间外点对点消息和向应用服务器发送消息 在调用本接口登录后,如果想要登出,需要调用 logout |
logout | 登出 RTS 服务器。 调用本接口登出后,无法调用房间外消息以及端到服务器消息相关的方法或收到相关回调。 |
updateLoginToken: | 更新用户用于登录的 Token Token 有一定的有效期,当 Token 过期时,需调用此方法更新登录的 Token 信息。 调用 login:uid: 方法登录时,如果使用了过期的 Token 将导致登录失败,并会收到 rtcEngine:onLoginResult:errorCode:elapsed: 回调通知,错误码为 ByteRTCLoginErrorCodeInvalidToken。此时需要重新获取 Token,并调用此方法更新 Token。 |
setServerParams:url: | 设置应用服务器参数 客户端调用 sendServerMessage: 或 sendServerBinaryMessage: 发送消息给应用服务器之前,必须需要设置有效签名和应用服务器地址。 |
getPeerOnlineStatus: | 查询对端用户或本端用户的登录状态 |
sendUserMessageOutsideRoom:message:config: | 给房间外指定的用户发送文本消息(P2P) |
sendUserBinaryMessageOutsideRoom:message:config: | 给房间外指定的用户发送二进制消息(P2P) |
sendServerMessage: | 客户端给应用服务器发送文本消息(P2Server) |
sendServerBinaryMessage: | 客户端给应用服务器发送二进制消息(P2Server) |
sendStreamSyncInfo:config: | 发送音频流同步信息。将消息通过音频流发送到远端,并实现与音频流同步,该接口调用成功后,远端用户会收到 rtcEngine:onStreamSyncInfoReceived:streamType:data: 回调。 |
sendSEIMessage:andMessage:andRepeatCount:andCountPerFrame: | 通过视频帧发送 SEI 数据。 在视频通话场景下,SEI 数据会随视频帧发送;在语音通话场景下,SDK 会自动生成一路 16px × 16px 的黑帧视频流用来发送 SEI 数据。 |
方法 | 描述 |
---|---|
startPushMixedStreamToCDN:mixedConfig:observer: | 新增合流转推直播任务,并设置合流的图片、视频视图布局和音频属性。 同一个任务中转推多路直播流时,SDK 会先将多路流合成一路流,然后再进行转推。 |
updatePushMixedStreamToCDN:mixedConfig: | 更新合流转推直播参数,会收到 onMixingEvent:taskId:error:mixType: 回调。 开启转推直播功能后,你可以使用此方法更新合流转推功能配置参数。 |
startPushSingleStreamToCDN:singleStream:observer: | 新增单流转推直播任务。 |
stopPushStreamToCDN: | 停止转推直播。 该方法可用于停止单流转推直播或停止合流转推直播,通过 taskId 区分需要停止的任务。 |
方法 | 描述 |
---|---|
getAudioEffectPlayer | 创建音效播放器实例。 |
start:filePath:config: | 开始播放音效文件。 可以通过传入不同的 ID 和 filepath 多次调用本方法,以实现同时播放多个音效文件,实现音效叠加。 |
preload:filePath: | 预加载指定音乐文件到内存中,以避免频繁播放同一文件时的重复加载,减少 CPU 占用。 |
setPosition:position: | 设置音效文件的起始播放位置。 |
setVolume:volume: | 调节指定音效的音量大小,包括音效文件和 PCM 音频。 |
open:config: | 打开音乐文件。 一个播放器实例仅能够同时打开一个音乐文件。如果需要同时打开多个音乐文件,请创建多个音乐播放器实例。 要播放 PCM 格式的音频数据,参看 openWithCustomSource:config:。 openWithCustomSource 和此 API 互斥。 |
openWithCustomSource:config: | 启动音频裸数据混音。 要播放音乐文件,参看 open:config:。 open 与此 API 互斥。 |
setVolume:type: | 调节指定混音的音量大小,包括音乐文件混音和 PCM 混音。 |
方法 | 描述 |
---|---|
publishScreen: | 在当前所在房间内发布本地屏幕共享音视频流 |
unpublishScreen: | 停止将本地屏幕共享音视频流发布到当前所在房间中 |
setScreenAudioSourceType: | 在屏幕共享时,设置屏幕音频的采集方式(内部采集/自定义采集) |
setScreenAudioStreamIndex: | 在屏幕共享时,设置屏幕音频流和麦克风采集到的音频流的混流方式 |
setScreenVideoEncoderConfig: | 为发布的屏幕共享视频流设置期望的编码参数,包括分辨率、帧率、码率、网络不佳时的回退策略等。 |
setScreenAudioChannel: | 在屏幕共享时,设置屏幕音频流的声道数 |
pushScreenAudioFrame: | 使用自定义采集方式,采集屏幕共享时的屏幕音频时,将音频帧推送至 RTC SDK 处进行编码等处理。 |
setOriginalScreenVideoInfo:withOriginalCaptureHeight: | 外部采集时,当屏幕或待采集窗口大小发生改变,为了使 RTC 更好地决策合适的帧率和分辨率积,调用此接口设置改变前的分辨率。 |
pushScreenVideoFrame:time:rotation: | 推送外部屏幕采集帧 |
subscribeScreen:mediaStreamType: | 订阅房间内指定的远端屏幕共享音视频流,或更新对指定远端用户的订阅选项 |
unsubscribeScreen:mediaStreamType: | 取消订阅房间内指定的远端屏幕共享音视频流。 该方法对自动订阅和手动订阅模式均适用。 |
方法 | 描述 |
---|---|
startCloudProxy: | 开启云代理 |
setCustomizeEncryptHandler: | 设置自定义加密和解密方式。 |
setEncryptInfo:key: | 设置传输时使用内置加密的方式。 |
setLocalProxy: | 设置本地代理。 |
方法 | 描述 |
---|---|
startSubtitle: | 识别或翻译房间内所有用户的语音,形成字幕。 调用该方法时,可以在 ByteRTCSubtitleMode 中选择语音识别或翻译模式。如果选择识别模式,语音识别文本会通过 rtcRoom:onSubtitleMessageReceived: 事件回调给你; 如果选择翻译模式,你会同时收到两个 rtcRoom:onSubtitleMessageReceived: 回调,分别包含字幕原文及字幕译文。 调用该方法后,用户会收到 rtcRoom:onSubtitleStateChanged:errorCode:errorMessage: 回调,通知字幕是否开启。 |
stopSubtitle | 关闭字幕。 调用该方法后,用户会收到 rtcRoom:onSubtitleStateChanged:errorCode:errorMessage: 回调,通知字幕是否关闭。 |
方法 | 描述 |
---|---|
getSingScoringManager | 创建 K 歌评分管理接口。 |
initSingScoring:singScoringToken:delegate: | 初始化 K 歌评分。 |
setSingScoringConfig: | 设置 K 歌评分参数。 |
getStandardPitchInfo: | 获取标准音高数据。 |
startSingScoring:scoringInfoInterval: | 开始 K 歌评分。 |
stopSingScoring | 停止 K 歌评分。 |
getLastSentenceScore | 获取上一句的演唱评分。调用 startSingScoring:scoringInfoInterval: 开始评分后可以调用该接口。 |
getTotalScore | 获取当前演唱总分。调用 startSingScoring:scoringInfoInterval: 开始评分后可以调用该接口。 |
getAverageScore | 获取当前演唱歌曲的平均分。 |
setAudioAlignmentProperty:withMode: | 在听众端,设置订阅的所有远端音频流精准对齐后播放。 |
回调 | 描述 |
---|---|
rtcEngine:onWarning: | 发生警告回调。 SDK 运行时出现了警告。SDK 通常会自动恢复,警告信息可以忽略。 |
rtcEngine:onError: | 发生错误回调。 SDK 运行时出现了网络或媒体相关的错误,且无法自动恢复时触发此回调。 你可能需要干预. |
onTokenWillExpire: | Token 进房权限过期前 30 秒将触发该回调。 收到该回调后,你需调用 updateToken: 更新 Token 进房权限。 |
onPublishPrivilegeTokenWillExpire: | Token 发布权限过期前 30 秒将触发该回调。 收到该回调后,你需调用 updateToken: 更新 Token 发布权限。 |
onSubscribePrivilegeTokenWillExpire: | Token 订阅权限过期前 30 秒将触发该回调。 收到该回调后,你需调用 updateToken: 更新 Token 订阅权限有效期。 |
回调 | 描述 |
---|---|
rtcRoom:onRoomStateChanged:withUid:state:extraInfo: | 房间状态改变回调,加入房间、异常退出房间、发生房间相关的警告或错误时会收到此回调。 |
rtcEngine:onCreateRoomStateChanged:errorCode: | 创建房间失败回调。 |
rtcRoom:onLeaveRoom: | 离开房间成功回调。 用户调用 leaveRoom 方法后,SDK 会停止所有的发布订阅流,并释放所有通话相关的音视频资源。SDK 完成所有的资源释放后通过此回调通知用户。 |
rtcRoom:onUserJoined:elapsed: | 远端可见用户加入房间,或房内不可见用户切换为可见的回调。 1. 远端用户调用 setUserVisibility: 方法将自身设为可见后加入房间时,房间内其他用户将收到该事件。 2. 远端可见用户断网后重新连入房间时,房间内其他用户将收到该事件。 3. 房间内隐身远端用户调用 setUserVisibility: 方法切换至可见时,房间内其他用户将收到该事件。 4. 新进房用户会收到进房前已在房内的可见用户的进房回调通知。 |
rtcRoom:onUserLeave:reason: | 远端用户离开房间,或切至不可见时,本地用户会收到此事件 |
rtcRoom:onUserVisibilityChanged:errorCode: | 用户调用 setUserVisibility: 设置用户可见性的回调。 |
rtcRoom:onRoomStats: | 房间内通话统计信息回调。 用户进房开始通话后,每 2s 收到一次本回调。 |
rtcRoom:onRoomStats: | 房间内通话统计信息回调。 用户进房开始通话后,每 2s 收到一次本回调。 |
rtcRoom:onSetRoomExtraInfoResult:error: | 调用 setRoomExtraInfo:value: 结果回调。 |
rtcRoom:onRoomExtraInfoUpdate:value:lastUpdateUserId:lastUpdateTimeMs: | 接收到房间附加信息的回调。 房间内其他用户调用 setRoomExtraInfo:value: 设置房间附加信息,收到此回调。 另外用户加入房间成功后会收到这个房间全量附加信息 |
回调 | 描述 |
---|---|
rtcEngine:onUserStartVideoCapture:uid: | 房间内的可见用户调用 startVideoCapture 开启内部视频采集时,房间中其他用户会收到此回调。 |
rtcEngine:onUserStopVideoCapture:uid: | 房间内的可见用户调用 stopVideoCapture 关闭内部视频采集时,房间内其他用户会收到此回调。 若发布视频数据前未开启采集,房间内所有可见用户会收到此回调。 |
rtcEngine:onVideoDeviceStateChanged:device_type:device_state:device_error: | 视频设备状态发生改变回调。当设备的视频状态发生改变时,SDK 会触发该回调,提示摄像头视频采集、屏幕视频采集等设备的状态。 |
rtcEngine:onVideoDeviceWarning:deviceType:deviceWarning: | 视频设备警告回调。视频设备包括视频采集设备。 |
onFaceDetectResult: | 特效 SDK 进行人脸检测结果的回调。 调用 enableFaceDetection:withInterval:withModelPath: 注册了 ByteRTCFaceDetectionObserver ,并使用 RTC SDK 中包含的特效 SDK 进行视频特效处理时,你会收到此回调。 |
rtcEngine:onLocalVideoStateChanged:withStreamState:withStreamError: | 本地视频流的状态发生改变时,收到该事件。 |
回调 | 描述 |
---|---|
onStreamPushEvent:taskId:error: | 单流转推直播状态回调 |
回调 | 描述 |
---|---|
onFrame:audioFrame: | 当本地音频文件混音时,回调播放的音频帧。 |
onMediaPlayerStateChanged:state:error: | 播放状态改变时回调。 |
onMediaPlayerPlayingProgress:progress: | 播放进度周期性回调。回调周期通过 setProgressInterval: 设置。 |
onReadData:bufferSize: | 调用 openWithCustomSource:config: 接口播放用户传入的内存音频数据时,会触发此回调,用户需要写入音频数据。 |
onSeek:whence: | 根据设置好的内存音频数据的读取位置和读取偏移量对音频数据进行偏移,以便 SDK 读取和分析音频数据。 在调用 openWithCustomSource:config: 接口传入内存音频数据,或者调用 setPosition:position: 设置了音频数据的起始播放位置后,SDK 会对音频数据进行读取和分析,此时会触发该回调,你需要根据参数中设置的起始读取位置和偏移量进行操作。 |
回调 | 描述 |
---|---|
rtcRoom:onUserPublishScreen:type: | 房间内新增远端屏幕共享音视频流的回调。 |
rtcRoom:onUserUnpublishScreen:type:reason: | 房间内远端屏幕共享音视频流移除的回调。 |
rtcEngine:onScreenVideoFrameSendStateChanged:rtcUser:state: | 屏幕共享流的视频首帧发送状态发生改变时,收到此回调。 |
rtcEngine:onScreenVideoFramePlayStateChanged:rtcUser:state: | 屏幕共享流视频首帧播放状态发生改变时,收到此回调。 |
rtcEngine:onExternalScreenFrameUpdate: | 外部采集时,调用 setOriginalScreenVideoInfo:withOriginalCaptureHeight: 设置屏幕或窗口大小改变前的分辨率后,若屏幕采集模式为智能模式,你将收到此回调,根据 RTC 智能决策合适的帧率和分辨率积(宽*高)重新采集。 |
回调 | 描述 |
---|---|
rtcEngine:onCloudProxyConnected: | 调用 startCloudProxy: 开启云代理,SDK 首次成功连接云代理服务器时,回调此事件。 |
onEncryptData: | 自定义加密。 使用设定的自定义加密方式,对编码后传输前的音视频帧数据进行加密。 暂不支持对原始音视频帧进行加密。 |
onDecryptData: | 自定义解密。 对自定义加密后的音视频帧数据进行解密。关于自定义加密,参看 onEncryptData:。 |
回调 | 描述 |
---|---|
rtcEngine:onExtensionAccessError:msg: | 当访问插件失败时,收到此回调。 RTC SDK 将一些功能封装成插件。当使用这些功能时,如果插件不存在,功能将无法使用。 |
rtcEngine:onRecordingStateUpdate:state:error_code:recording_info: | 获取本地录制状态回调。 该回调由 startFileRecording:withRecordingConfig:type: 或 stopFileRecording: 触发。 |
rtcEngine:onRecordingProgressUpdate:process:recording_info: | 本地录制进度回调。 该回调由 startFileRecording:withRecordingConfig:type: 触发,录制状态正常时,系统每秒钟都会通过该回调提示录制进度。 |
rtcEngine:onAudioRecordingStateUpdate:error_code: | 调用 startAudioRecording: 或者 stopAudioRecording 改变音频文件录制状态时,收到此回调。 |
onTakeLocalSnapshotResult:streamIndex:image:errorCode: | 调用 takeLocalSnapshot:callback: 截取视频画面时,收到此回调。 |
onTakeRemoteSnapshotResult:streamKey:image:errorCode: | 调用 takeRemoteSnapshot:callback: 截取视频画面时,收到此回调。 |
回调 | 描述 |
---|---|
rtcRoom:onSubtitleStateChanged:errorCode:errorMessage: | 字幕状态发生改变回调。 当用户调用 startSubtitle: 和 stopSubtitle 使字幕状态发生改变或出现错误时,触发该回调。 |
rtcRoom:onSubtitleMessageReceived: | 字幕相关内容回调。 当用户调用 startSubtitle: 后会收到此回调,通知字幕的相关信息。 |
回调 | 描述 |
---|---|
onCurrentScoringInfo: | 实时评分信息回调。调用 startSingScoring:scoringInfoInterval: 后,会收到该回调。 |