API 概览
声网通过全球部署的 SD-RTN™,提供可以灵活搭配的 API 组合,实现质量可靠的实时音视频通信。
初始化相关
| 方法/回调 | 描述 |
|---|---|
| createEngine | 创建并初始化 RtcEngine。 |
| create | 创建并初始化 RtcEngine。 |
| destroy | 销毁 RtcEngine 对象。 |
频道相关
| 方法/回调 | 描述 |
|---|---|
| setChannelProfile | 设置频道场景。 |
| joinChannel | 加入频道。 |
| joinChannelWithOptions | 设置媒体选项并加入频道。 |
| joinChannelEx | 加入频道。 |
| updateChannelMediaOptions | 加入频道后更新频道媒体选项。 |
| updateChannelMediaOptionsEx | 加入频道后更新频道媒体选项 。 |
| leaveChannel | 设置频道选项并离开频道。 |
| leaveChannelEx | 设置频道选项并离开频道。 |
| renewToken | 更新 Token。 |
| setClientRole | 设置直播场景下的用户角色和观众端延时级别。 |
| onJoinChannelSuccess | 成功加入频道回调。 |
| onRejoinChannelSuccess | 成功重新加入频道回调。 |
| onClientRoleChanged | 用户角色、观众端延时级别已切换回调。 |
| onClientRoleChangeFailed | 用户角色切换失败回调。 |
| onLeaveChannel | 离开频道回调。 |
| onUserJoined | 远端用户(通信场景)/主播(直播场景)加入当前频道回调。 |
| onUserOffline | 远端用户(通信场景)/主播(直播场景)离开当前频道回调。 |
| onConnectionLost | 网络连接中断,且 SDK 无法在 10 秒内连接服务器回调。 |
| onConnectionStateChanged | 网络连接状态已改变回调。 |
| onRequestToken | Token 已过期回调。 |
| onTokenPrivilegeWillExpire | Token 即将在 30s 内过期回调。 |
| onError | 发生错误回调。 |
发布和订阅
| 方法/回调 | 描述 |
|---|---|
| muteLocalAudioStream | 取消或恢复发布本地音频流。 |
| muteLocalAudioStreamEx | 取消或恢复发布本地音频流。 |
| muteRemoteAudioStream | 取消或恢复订阅指定远端用户的音频流。 |
| muteRemoteAudioStreamEx | 停止/恢复接收指定的音频流。 |
| muteAllRemoteAudioStreams | 取消或恢复订阅所有远端用户的音频流。 |
| muteAllRemoteAudioStreamsEx | 取消或恢复订阅所有远端用户的音频流。 |
| muteLocalVideoStream | 取消或恢复发布本地视频流。 |
| muteLocalVideoStreamEx | 取消或恢复发布本地视频流。 |
| muteRemoteVideoStream | 取消或恢复订阅指定远端用户的视频流。 |
| muteRemoteVideoStreamEx | 停止/恢复接收指定的视频流。 |
| muteAllRemoteVideoStreams | 取消或恢复订阅所有远端用户的视频流。 |
| muteAllRemoteVideoStreamsEx | 取消或恢复订阅所有远端用户的视频流。 |
| onAudioPublishStateChanged | 音频发布状态改变回调。 |
| onAudioSubscribeStateChanged | 音频订阅状态发生改变回调。 |
| onVideoSubscribeStateChanged | 视频订阅状态发生改变回调。 |
音频基础功能
| 方法/回调 | 描述 |
|---|---|
| adjustUserPlaybackSignalVolume | 调节本地播放的指定远端用户信号音量。 |
| adjustUserPlaybackSignalVolumeEx | 调节本地播放的指定远端用户信号音量。 |
| adjustPlaybackSignalVolume | 调节本地播放的所有远端用户信号音量。 |
| enableAudio | 启用音频模块。 |
| disableAudio | 关闭音频模块。 |
| enableAudioVolumeIndication | 启用用户音量提示。 |
| enableAudioVolumeIndicationEx | 启用用户音量提示。 |
| setAudioProfile | 设置音频编码属性。 |
| setAudioScenario | 设置音频场景。 |
| onAudioVolumeIndication | 用户音量提示回调。 |
| onLocalAudioStateChanged | 本地音频状态发生改变回调。 |
| onUserMuteAudio | 远端用户(通信场景)/主播(直播场景)停止或恢复发送音频流回调。 |
| onRemoteAudioStateChanged | 远端音频流状态发生改变回调。 |
| onLocalAudioStats | 通话中本地音频流的统计信息回调。 |
| onRemoteAudioStats | 通话中远端音频流的统计信息回调。 |
音频采集
| 方法/回调 | 描述 |
|---|---|
| enableLocalAudio | 开启或关闭本地音频采集。 |
| adjustRecordingSignalVolume | 调节音频采集信号音量。 |
| enableInEarMonitoring | 开启耳返功能。 |
| setInEarMonitoringVolume | 设置耳返音量。 |
自定义音频采集和渲染
| 方法/回调 | 描述 |
|---|---|
| createCustomAudioTrack | 创建一个自定义音频采集轨道。 |
| destroyCustomAudioTrack | 销毁指定的音频轨道。 |
视频基础功能
| 方法/回调 | 描述 |
|---|---|
| enableVideo | 启用视频模块。 |
| disableVideo | 关闭视频模块。 |
| setVideoEncoderConfiguration | 设置视频编码属性。 |
| setVideoEncoderConfigurationEx | 设置视频编码属性。 |
| startPreview | 开启视频预览并指定预览的视频源。 |
| stopPreview | 停止视频预览。 |
| onLocalVideoStateChanged | 本地视频状态发生改变回调。 |
| onLocalVideoStats | 本地视频流统计信息回调。 |
| onVideoPublishStateChanged | 视频发布状态改变回调。 |
| onVideoSizeChanged | 本地或远端视频大小和旋转信息发生改变回调。 |
| onRemoteVideoStateChanged | 远端视频状态发生改变回调。 |
| onRemoteVideoStats | 通话中远端视频流的统计信息回调。 |
| onFirstLocalVideoFrame | 已显示本地视频首帧回调。 |
| onUserMuteVideo | 远端用户取消或恢复发布视频流回调。 |
| onUserEnableVideo | 远端用户开/关视频模块回调。 |
视频采集
| 方法/回调 | 描述 |
|---|---|
| enableLocalVideo | 开关本地视频采集。 |
| startCameraCapture | 开始通过摄像头采集视频。 |
| stopCameraCapture | 停止通过摄像头采集视频。 |
视频前处理和后处理
| 方法/回调 | 描述 |
|---|---|
| enableContentInspect | 开启/关闭本地截图上传。 |
| takeSnapshot | 获取视频截图。 |
| enableVirtualBackground | 开启虚拟背景并指定媒体源,或关闭虚拟背景。 |
| enableFaceDetection | 开启/关闭本地人脸检测。 |
| onFacePositionChanged | 报告本地人脸检测结果。 |
| onSnapshotTaken | 视频截图结果回调。 |
视频编码功能
| 方法/回调 | 描述 |
|---|---|
| setDualStreamModeEx | 在发送端设置双流模式。 |
| startLocalVideoTranscoder | 开启本地合图。 |
| stopLocalVideoTranscoder | 停止本地合图。 |
| updateLocalTranscoderConfiguration | 更新本地合图配置。 |
| onLocalVideoTranscoderError | 本地合图发生错误回调。 |
视频渲染
| 方法/回调 | 描述 |
|---|---|
| setLocalRenderMode | 更新本地视图显示模式。 |
| setRemoteRenderMode | 更新远端视图显示模式。 |
| setupLocalVideo | 初始化本地视图。 |
| setupRemoteVideo | 初始化远端用户视图。 |
| setupRemoteVideoEx | 初始化远端用户视图。 |
自定义视频采集和渲染
| 方法/回调 | 描述 |
|---|---|
| createCustomVideoTrack | 创建一个自定义的视频轨道。 |
| destroyCustomVideoTrack | 销毁指定的视频轨道。 |
| setExternalVideoSource | 设置外部视频源。 |
| pushExternalVideoFrameById | 将外部原始视频帧通过自定义视频轨道发布到频道中。 |
| pushExternalVideoFrame | 推送外部原始视频帧到 SDK。 |
音乐文件播放
| 方法/回调 | 描述 |
|---|---|
| startAudioMixing | 开始播放音乐文件。 |
| stopAudioMixing | 停止播放音乐文件。 |
| pauseAudioMixing | 暂停播放音乐文件。 |
| resumeAudioMixing | 恢复播放音乐文件。 |
| adjustAudioMixingVolume | 调节音乐文件的播放音量。 |
| adjustAudioMixingPlayoutVolume | 调节音乐文件在本地播放的音量。 |
| getAudioMixingDuration | 获取音乐文件总时长。 |
| getAudioMixingCurrentPosition | 获取音乐文件的播放进度。 |
| onAudioMixingStateChanged | 音乐文件的播放状态已改变回调。 |
| onAudioMixingPositionChanged | 音乐文件播放进度回调。 |
音效文件播放
| 方法/回调 | 描述 |
|---|---|
| playEffect | 播放指定的本地或在线音效文件。 |
| stopEffect | 停止播放指定音效文件。 |
| onAudioEffectFinished | 本地音效文件播放已结束回调。 |
媒体播放器
更多有关媒体播放器的方法,详见内置媒体播放器。
| 方法/回调 | 描述 |
|---|---|
| createMediaPlayer | 创建媒体播放器对象。 |
| IMediaPlayer | 提供媒体播放器功能的类,支持多实例。 |
| IMediaPlayerObserver | 提供媒体播放器的回调。 |
版权音乐
| 方法/回调 | 描述 |
|---|---|
| initialize | 初始化 IAgoraMusicContentCenter。 |
| release | 释放音乐内容中心所占用的所有资源。 |
| createMusicPlayer | 创建音乐播放器。 |
| destroyMusicPlayer | 销毁音乐播放器对象。 |
| preload | 预加载音乐资源。 |
| isPreloaded | 检测音乐资源是否已被预加载。 |
| open | 通过音乐资源编号打开音乐资源。 |
| registerEventHandler | 注册音乐内容中心回调事件。 |
| unregisterEventHandler | 取消注册音乐内容中心事件回调。 |
| renewToken | 更新 Token。 |
| getCaches | 获取已缓存的音乐资源信息。 |
| removeCache | 删除已缓存的音乐资源。 |
| getMusicCharts | 获取全部音乐榜单。 |
| getMusicCollectionByMusicChartId | 通过音乐榜单的 ID 获取指定榜单的音乐资源列表。 |
| searchMusic | 搜索音乐资源。 |
| setPlayMode | 设置音乐资源的播放模式。 |
| searchMusic | 搜索音乐资源。 |
| renewToken | 更新 Token。 |
| getLyric | 获取音乐资源的歌词下载地址。 |
| getInternalSongCode | 创建音乐资源的副歌片段编号。 |
| getSongSimpleInfo | 获取某一音乐资源的详细信息。 |
| onPreLoadEvent | 报告预加载音乐资源的事件。 |
| onLyricResult | 歌词下载地址回调。 |
| onMusicChartsResult | 获取音乐榜单回调。 |
| onMusicCollectionResult | 获取音乐资源列表回调。 |
| onSongSimpleInfoResult | 音乐资源的详细信息回调。 |
音视频录制
| 方法/回调 | 描述 |
|---|---|
| createMediaRecorder | 创建音视频录制对象。 |
| setMediaRecorderObserver | 注册 IMediaRecorderCallback 观测器。 |
| startRecording | 开启音视频流录制。 |
| stopRecording | 停止音视频流录制。 |
| startAudioRecording | 开始客户端录音。 |
| startAudioRecordingWithConfiguration | 开始客户端录音并进行录音配置。 |
| stopAudioRecording | 停止客户端录音。 |
| destroyMediaRecorder | 销毁音视频录制对象。 |
| onRecorderStateChanged | 录制状态发生改变回调。 |
| onRecorderInfoUpdated | 录制信息更新回调。 |
跨频道媒体流转发
| 方法/回调 | 描述 |
|---|---|
| startOrUpdateChannelMediaRelay | 开始或更新跨频道媒体流转发。 |
| startOrUpdateChannelMediaRelayEx | 开始或更新跨频道媒体流转发。 |
| stopChannelMediaRelay | 停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。 |
| pauseAllChannelMediaRelay | 暂停向所有目标频道转发媒体流。 |
| resumeAllChannelMediaRelay | 恢复向所有目标频道转发媒体流。 |
旁路推流
| 方法/回调 | 描述 |
|---|---|
| startRtmpStreamWithTranscoding | 开始旁路推流并设置转码属性。 |
| updateRtmpTranscoding | 更新旁路推流转码属性。 |
| stopRtmpStream | 结束旁路推流。 |
| onRtmpStreamingEvent | 旁路推流事件回调。 |
| onRtmpStreamingStateChanged | 旁路推流状态发生改变回调。 |
| onTranscodingUpdated | 旁路推流转码设置已被更新回调。 |
数据流
| 方法/回调 | 描述 |
|---|---|
| createDataStream | 创建数据流。 |
| createDataStreamEx | 创建数据流。 |
| sendStreamMessage | 发送数据流。 |
| onStreamMessage | 接收到对方数据流消息的回调。 |
| onStreamMessageError | 接收对方数据流消息发生错误的回调。 |
音频路由
| 方法/回调 | 描述 |
|---|---|
| setDefaultAudioRouteToSpeakerphone | 设置默认的音频路由。 |
| setEnableSpeakerphone | 开启或关闭扬声器播放。 |
| isSpeakerphoneEnabled | 检查扬声器状态启用状态。 |
视频设备管理
| 方法/回调 | 描述 |
|---|---|
| switchCamera | 切换前置/后置摄像头。 |
| setCameraCapturerConfiguration | 设置摄像头采集配置。 |
| getCameraMaxZoomFactor | 获取摄像头支持最大缩放比例。 |
| setCameraZoomFactor | 设置摄像头缩放比例。 |
| isCameraFocusSupported | 检测设备是否支持手动对焦功能。 |
| setCameraExposureFactor | 设置当前摄像头的曝光系数。 |
| setCameraFocusPositionInPreview | 设置手动对焦位置,并触发对焦。 |
| onCameraExposureAreaChanged | 摄像头曝光区域已改变回调。 |
网络及其他
| 方法/回调 | 描述 |
|---|---|
| startLastmileProbeTest | 开始通话前网络质量探测。 |
| stopLastmileProbeTest | 停止通话前网络质量探测。 |
| onLastmileQuality | 网络上下行 last mile 质量报告回调。 |
| onLastmileProbeResult | 通话前网络上下行 Last mile 质量探测报告回调。 |
| getCurrentMonotonicTimeInMs | 获取 SDK 当前的 Monotonic Time。 |
| setParameters | SDK 的 JSON 配置信息,用于提供技术预览或特别定制功能。 |
| getCallId | 获取通话 ID。 |
| getCallIdEx | 使用连接 ID 获取通话 ID。 |
| enableEncryption | 开启或关闭内置加密。 |
| onEncryptionError | 内置加密出错回调。 |
| onNetworkQuality | 通话中每个用户的网络上下行 last mile 质量报告回调。 |
| onRtcStats | 当前通话相关的统计信息回调。 |
| onPermissionError | 获取设备权限出错回调。 |