API 概览
声网通过全球部署的 SD-RTN™,提供可以灵活搭配的 API 组合,实现质量可靠的实时音视频通信。
初始化相关
方法/回调 | 描述 |
---|---|
create [1/2] | 创建并初始化 RtcEngine。 |
create [2/2] | 创建并初始化 RtcEngine。 |
destroy | 销毁 RtcEngine 对象。 |
频道相关
发布和订阅
音频基础功能
方法/回调 | 描述 |
---|---|
adjustUserPlaybackSignalVolume | 调节本地播放的指定远端用户信号音量。 |
adjustUserPlaybackSignalVolumeEx | 调节本地播放的指定远端用户信号音量。 |
adjustPlaybackSignalVolume | 调节本地播放的所有远端用户信号音量。 |
enableAudio | 启用音频模块。 |
disableAudio | 关闭音频模块。 |
enableAudioVolumeIndication | 启用用户音量提示。 |
enableAudioVolumeIndicationEx | 启用用户音量提示。 |
setAudioProfile [2/2] | 设置音频编码属性。 |
setAudioScenario | 设置音频场景。 |
onAudioVolumeIndication | 用户音量提示回调。 |
onActiveSpeaker | 监测到远端最活跃用户回调。 |
onLocalAudioStateChanged | 本地音频状态发生改变回调。 |
onFirstLocalAudioFramePublished | 已发布本地音频首帧回调。 |
onFirstRemoteAudioFrame | 已接收远端音频首帧回调。 |
onUserMuteAudio | 远端用户(通信场景)/主播(直播场景)停止或恢复发送音频流回调。 |
onRemoteAudioStateChanged | 远端音频流状态发生改变回调。 |
onLocalAudioStats | 通话中本地音频流的统计信息回调。 |
onRemoteAudioStats | 通话中远端音频流的统计信息回调。 |
音频采集
方法/回调 | 描述 |
---|---|
enableLocalAudio | 开启或关闭本地音频采集。 |
adjustRecordingSignalVolume | 调节音频采集信号音量。 |
muteRecordingSignal | 是否将录音信号静音。 |
enableInEarMonitoring [1/2] | 开启耳返功能。 |
enableInEarMonitoring [2/2] | 开启耳返功能。 |
setInEarMonitoringVolume | 设置耳返音量。 |
音频前处理和后处理
原始音频数据
方法/回调 | 描述 |
---|---|
registerAudioFrameObserver | 注册音频观测器对象。 |
setEarMonitoringAudioFrameParameters | 设置耳返的音频数据格式。 |
setRecordingAudioFrameParameters | 设置采集的原始音频数据格式。 |
setPlaybackAudioFrameParameters | 设置播放的原始音频数据格式。 |
setMixedAudioFrameParameters | 设置采集和播放音频混音后的原始音频数据格式。 |
setPlaybackAudioFrameBeforeMixingParameters | 设置混音前的原始音频播放数据格式。 |
onEarMonitoringAudioFrame | 获得耳返的原始音频数据。 |
onRecordAudioFrame | 获得采集的原始音频数据。 |
onPlaybackAudioFrame | 获得播放的原始音频数据。 |
onPlaybackAudioFrameBeforeMixing | 获取所订阅的远端用户混音前的声音。 |
onMixedAudioFrame | 获取采集和播放音频混音后的数据。 |
getEarMonitoringAudioParams | 设置 onEarMonitoringAudioFrame 回调数据的格式。 |
getObservedAudioFramePosition | 设置音频观测位置。 |
getRecordAudioParams | 设置 onRecordAudioFrame 回调数据的格式。 |
getPlaybackAudioParams | 设置 onPlaybackAudioFrame 回调数据的格式。 |
getMixedAudioParams | 设置 onMixedAudioFrame 回调数据的格式。 |
已编码音频数据
方法/回调 | 描述 |
---|---|
registerAudioEncodedFrameObserver | 注册音频编码数据观测器。 |
onRecordAudioEncodedFrame | 获取本地用户的音频编码数据。 |
onPlaybackAudioEncodedFrame | 获取所有远端用户的音频编码数据。 |
onMixedAudioEncodedFrame | 获取本地和所有远端用户混音后的音频编码数据。 |
自定义音频采集和渲染
方法/回调 | 描述 |
---|---|
createCustomAudioTrack | 创建一个自定义音频采集轨道。 |
destroyCustomAudioTrack | 销毁指定的音频轨道。 |
setExternalAudioSink | 设置外部音频渲染。 |
pullPlaybackAudioFrame [1/2] | 拉取远端音频数据。 |
pullPlaybackAudioFrame [2/2] | 拉取远端音频数据。 |
pushExternalAudioFrame | 推送外部音频数据。 |
adjustCustomAudioPlayoutVolume | 调节自定义音频采集轨道在本地播放的音量。 |
adjustCustomAudioPublishVolume | 调节自定义音频采集轨道在远端播放的音量。 |
enableCustomAudioLocalPlayback | 设置是否在本地播放外部音频源。 |
音频频谱
方法/回调 | 描述 |
---|---|
registerAudioSpectrumObserver | 注册音频频谱观测器。 |
enableAudioSpectrumMonitor | 开启音频频谱监测。 |
disableAudioSpectrumMonitor | 关闭音频频谱监测。 |
unregisterAudioSpectrumObserver | 取消注册音频频谱观测器。 |
onLocalAudioSpectrum | 获取本地音频频谱。 |
onRemoteAudioSpectrum | 获取远端音频频谱。 |
视频基础功能
方法/回调 | 描述 |
---|---|
enableVideo | 启用视频模块。 |
disableVideo | 关闭视频模块。 |
setVideoScenario | 设置视频业务场景。 |
setVideoEncoderConfiguration | 设置视频编码属性。 |
setVideoEncoderConfigurationEx | 设置视频编码属性。 |
startPreview [1/2] | 开启视频预览。 |
stopPreview [1/2] | 停止视频预览。 |
startPreview [2/2] | 开启视频预览并指定预览的视频源。 |
stopPreview [2/2] | 停止视频预览。 |
onLocalVideoStateChanged | 本地视频状态发生改变回调。 |
onLocalVideoStats | 本地视频流统计信息回调。 |
onFirstLocalVideoFramePublished | 已发布本地视频首帧回调。 |
onVideoPublishStateChanged | 视频发布状态改变回调。 |
onVideoSizeChanged | 本地或远端视频大小和旋转信息发生改变回调。 |
onRemoteVideoStateChanged | 远端视频状态发生改变回调。 |
onRemoteVideoStats | 通话中远端视频流的统计信息回调。 |
onFirstLocalVideoFrame | 已显示本地视频首帧回调。 |
onFirstRemoteVideoFrame | 渲染器已接收首帧远端视频回调。 |
onFirstRemoteVideoDecoded | 已接收到远端视频并完成解码回调。 |
onUserMuteVideo | 远端用户取消或恢复发布视频流回调。 |
onUserEnableVideo | 远端用户开/关视频模块回调。 |
视频采集
方法/回调 | 描述 |
---|---|
enableLocalVideo | 开关本地视频采集。 |
startCameraCapture | 开始通过摄像头采集视频。 |
stopCameraCapture | 停止通过摄像头采集视频。 |
视频前处理和后处理
视频渲染
方法/回调 | 描述 |
---|---|
setRenderMode | 设置播放器视图的渲染模式。 |
setLocalRenderMode [2/2] | 更新本地视图显示模式。 |
setRemoteRenderMode | 更新远端视图显示模式。 |
setRemoteRenderModeEx | 设置远端视图显示模式。 |
setLocalRenderTargetFps | 设置本地视频渲染的最大帧率。 |
setRemoteRenderTargetFps | 设置视频在远端渲染的最大帧率。 |
setView | 设置播放器渲染视图。 |
setupLocalVideo | 初始化本地视图。 |
setupRemoteVideo | 初始化远端用户视图。 |
setupRemoteVideoEx | 初始化远端用户视图。 |
enableInstantMediaRendering | 开启音视频帧加速渲染。 |
startMediaRenderingTracing | 开启视频帧渲染数据打点。 |
startMediaRenderingTracingEx | 开启视频帧渲染数据打点。 |
onTranscodedStreamLayoutInfo | 已接收携带布局信息的合图视频流回调。 |
onVideoRenderingTracingResult | 视频帧渲染事件回调。 |
原始视频数据
方法/回调 | 描述 |
---|---|
registerVideoFrameObserver | 注册原始视频观测器对象。 |
onCaptureVideoFrame | 获取本地设备采集到的视频数据。 |
onFrame | 已获取视频帧回调。 |
onPreEncodeVideoFrame | 获取本地视频编码前的视频数据。 |
onRenderVideoFrame | 获取远端发送的视频数据。 |
getObservedFramePosition | 设置视频观测位置。 |
getVideoFrameProcessMode | 设置视频处理模式。 |
getMirrorApplied | 设置视频数据镜像。 |
getRotationApplied | 设置视频数据旋转。 |
getVideoFormatPreference | 设置 SDK 输出的原始视频数据格式。 |
已编码视频数据
方法/回调 | 描述 |
---|---|
registerVideoEncodedFrameObserver | 为编码后的视频图像注册视频帧接收观测器。 |
onEncodedVideoFrameReceived | 报告接收端已收到远端发送的待解码视频帧。 |
自定义视频采集和渲染
方法/回调 | 描述 |
---|---|
createCustomVideoTrack | 创建一个自定义的视频轨道。 |
destroyCustomVideoTrack | 销毁指定的视频轨道。 |
setExternalVideoSource | 设置外部视频源。 |
setExternalRemoteEglContext | 设置远端视频流渲染的 EGL 环境上下文。 |
pushExternalVideoFrameById [2/2] | 将外部原始视频帧通过自定义视频轨道发布到频道中。 |
pushExternalVideoFrame [2/2] | 推送外部原始视频帧到 SDK。 |
音乐文件播放
方法/回调 | 描述 |
---|---|
startAudioMixing [1/2] | 开始播放音乐文件。 |
startAudioMixing [2/2] | 开始播放音乐文件。 |
stopAudioMixing | 停止播放音乐文件。 |
pauseAudioMixing | 暂停播放音乐文件。 |
resumeAudioMixing | 恢复播放音乐文件。 |
adjustAudioMixingVolume | 调节音乐文件的播放音量。 |
adjustAudioMixingPlayoutVolume | 调节音乐文件在本地播放的音量。 |
adjustAudioMixingPublishVolume | 调节音乐文件远端播放音量。 |
getAudioMixingPlayoutVolume | 获取音乐文件的本地播放音量。 |
getAudioMixingPublishVolume | 获取音乐文件的远端播放音量。 |
setAudioMixingPlaybackSpeed | 设置当前音乐文件的播放速度。 |
getAudioMixingDuration | 获取音乐文件总时长。 |
getAudioMixingCurrentPosition | 获取音乐文件的播放进度。 |
setAudioMixingPitch | 调整本地播放的音乐文件的音调。 |
setAudioMixingPosition | 设置音乐文件的播放位置。 |
setAudioMixingDualMonoMode | 设置当前音频文件的声道模式。 |
getAudioTrackCount | 获取当前音乐文件的音轨索引。 |
selectAudioTrack | 指定当前音乐文件的播放音轨。 |
selectMultiAudioTrack | 选择本地播放和发送至远端的音轨。 |
onAudioMixingStateChanged | 音乐文件的播放状态已改变回调。 |
onAudioMixingPositionChanged | 音乐文件播放进度回调。 |
音效文件播放
方法/回调 | 描述 |
---|---|
getAudioEffectManager | 获取 IAudioEffectManager 类,以管理音效文件。 |
getEffectsVolume | 获取音效文件的播放音量。 |
setEffectsVolume | 设置音效文件的播放音量。 |
getVolumeOfEffect | 获取指定音效文件的播放音量。 |
setVolumeOfEffect | 设置指定音效文件的播放音量。 |
preloadEffect | 将音效文件加载至内存。 |
playEffect [1/2] | 播放指定的本地或在线音效文件。 |
playEffect [2/2] | 播放指定的本地或在线音效文件。 |
pauseEffect | 暂停音效文件播放。 |
pauseAllEffects | 暂停所有音效文件播放。 |
resumeEffect | 恢复播放指定音效文件。 |
resumeAllEffects | 恢复播放所有音效文件。 |
stopEffect | 停止播放指定音效文件。 |
stopAllEffects | 停止播放所有音效文件。 |
unloadEffect | 从内存释放某个预加载的音效文件。 |
getEffectDuration | 获取指定音效文件总时长。 |
getEffectCurrentPosition | 获取指定音效文件的播放进度。 |
setEffectPosition | 设置指定音效文件的播放位置。 |
onAudioEffectFinished | 本地音效文件播放已结束回调。 |
虚拟节拍器
方法/回调 | 描述 |
---|---|
startRhythmPlayer | 开启虚拟节拍器。 |
stopRhythmPlayer | 关闭虚拟节拍器。 |
configRhythmPlayer | 配置虚拟节拍器。 |
onRhythmPlayerStateChanged | 虚拟节拍器状态发生改变回调。 |
媒体播放器
更多有关媒体播放器的方法,详见内置媒体播放器。
方法/回调 | 描述 |
---|---|
createMediaPlayer | 创建媒体播放器对象。 |
getMediaPlayerCacheManager | 获取 IMediaPlayerCacheManager 实例。 |
IMediaPlayer | 提供媒体播放器功能的类,支持多实例。 |
IMediaPlayerCacheManager | 该类提供管理媒体播放器中缓存媒体文件的方法。 |
IMediaPlayerObserver | 提供媒体播放器的回调。 |
媒体播放器缓存
方法/回调 | 描述 |
---|---|
enableAutoRemoveCache | 设置是否开启自动清除缓存文件功能。 |
removeAllCaches | 删除媒体播放器中所有已缓存的媒体文件。 |
removeCacheByUri | 删除指定的已缓存媒体文件。 |
removeOldCache | 删除媒体播放器中近期最少使用的一个缓存媒体文件。 |
setCacheDir | 设置待缓存的媒体文件的储存路径。 |
setMaxCacheFileCount | 设置缓存媒体文件数量的上限。 |
setMaxCacheFileSize | 设置缓存媒体文件的总缓存大小的上限。 |
getCacheDir | 获取缓存文件的储存路径。 |
getCacheFileCount | 获取当前已缓存的媒体文件的总数量。 |
getMaxCacheFileCount | 获取所设置的缓存文件数量上限。 |
getMaxCacheFileSize | 获取所设置的缓存文件总缓存的上限。 |
onPlayerCacheStats | 报告当前缓存中的媒体资源的相关信息。 |
版权音乐
方法/回调 | 描述 |
---|---|
initialize | 初始化 IAgoraMusicContentCenter。 |
release | 释放音乐内容中心所占用的所有资源。 |
createMusicPlayer | 创建音乐播放器。 |
destroyMusicPlayer | 销毁音乐播放器对象。 |
preload [1/2] | 预加载音乐资源。 |
preload [2/2] | 预加载音乐资源。 |
isPreloaded | 检测音乐资源是否已被预加载。 |
open [1/2] | 通过音乐资源编号打开音乐资源。 |
open [2/2] | 通过 URL 打开音乐资源。 |
registerEventHandler | 注册音乐内容中心回调事件。 |
unregisterEventHandler | 取消注册音乐内容中心事件回调。 |
renewToken | 更新 Token。 |
getCaches | 获取已缓存的音乐资源信息。 |
removeCache | 删除已缓存的音乐资源。 |
getMusicCharts | 获取全部音乐榜单。 |
getMusicCollectionByMusicChartId [1/2] | 通过音乐榜单的 ID 获取指定榜单的音乐资源列表。 |
getMusicCollectionByMusicChartId [2/2] | 通过音乐榜单的 ID 获取指定榜单的音乐资源列表。 |
searchMusic [1/2] | 搜索音乐资源。 |
setPlayMode | 设置音乐资源的播放模式。 |
searchMusic [2/2] | 搜索音乐资源。 |
renewToken | 更新 Token。 |
getLyric | 获取音乐资源的歌词下载地址。 |
getInternalSongCode | 创建音乐资源的副歌片段编号。 |
getSongSimpleInfo | 获取某一音乐资源的详细信息。 |
getPlaySrc [2/2] | 获取当前播放的音乐资源的编号或 URL。 |
stop [2/2] | 停止播放音乐资源。 |
onPreLoadEvent | 报告预加载音乐资源的事件。 |
onLyricResult | 歌词下载地址回调。 |
onMusicChartsResult | 获取音乐榜单回调。 |
onMusicCollectionResult | 获取音乐资源列表回调。 |
onSongSimpleInfoResult | 音乐资源的详细信息回调。 |
音视频录制
方法/回调 | 描述 |
---|---|
createMediaRecorder | 创建音视频录制对象。 |
setMediaRecorderObserver | 注册 IMediaRecorderCallback 观测器。 |
startRecording | 开启音视频流录制。 |
stopRecording | 停止音视频流录制。 |
startAudioRecording [1/2] | 开始客户端录音。 |
startAudioRecording [2/2] | 开始客户端录音并进行录音配置。 |
stopAudioRecording | 停止客户端录音。 |
destroyMediaRecorder | 销毁音视频录制对象。 |
onRecorderStateChanged | 录制状态发生改变回调。 |
onRecorderInfoUpdated | 录制信息更新回调。 |
跨频道媒体流转发
方法/回调 | 描述 |
---|---|
startOrUpdateChannelMediaRelay | 开始或更新跨频道媒体流转发。 |
startOrUpdateChannelMediaRelayEx | 开始或更新跨频道媒体流转发。 |
stopChannelMediaRelay | 停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。 |
stopChannelMediaRelayEx | 停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。 |
pauseAllChannelMediaRelay | 暂停向所有目标频道转发媒体流。 |
pauseAllChannelMediaRelayEx | 暂停向所有目标频道转发媒体流。 |
resumeAllChannelMediaRelay | 恢复向所有目标频道转发媒体流。 |
resumeAllChannelMediaRelayEx | 恢复向所有目标频道转发媒体流。 |
onChannelMediaRelayStateChanged | 跨频道媒体流转发状态发生改变回调。 |
旁路推流
方法/回调 | 描述 |
---|---|
startRtmpStreamWithoutTranscoding | 开始非转码推流。 |
startRtmpStreamWithoutTranscodingEx | 开始非转码推流。 |
startRtmpStreamWithTranscoding | 开始旁路推流并设置转码属性。 |
startRtmpStreamWithTranscodingEx | 开始旁路推流并设置转码属性。 |
updateRtmpTranscoding | 更新旁路推流转码属性。 |
updateRtmpTranscodingEx | 更新旁路推流转码属性。 |
stopRtmpStream | 结束旁路推流。 |
stopRtmpStreamEx | 结束旁路推流。 |
onRtmpStreamingEvent | 旁路推流事件回调。 |
onRtmpStreamingStateChanged | 旁路推流状态发生改变回调。 |
onTranscodingUpdated | 旁路推流转码设置已被更新回调。 |
直推 CDN
方法/回调 | 描述 |
---|---|
startDirectCdnStreaming | 设置主播端开始直接向 CDN 推流。 |
stopDirectCdnStreaming | 设置主播端停止直接向 CDN 推流。 |
setDirectCdnStreamingAudioConfiguration | 设置主播端直接向 CDN 推流时的音频编码属性。 |
setDirectCdnStreamingVideoConfiguration | 设置主播端直接向 CDN 推流时的视频编码属性。 |
onDirectCdnStreamingStateChanged | CDN 推流状态改变回调。 |
onDirectCdnStreamingStats | CDN 推流统计数据回调。 |
数据流
方法/回调 | 描述 |
---|---|
createDataStream [1/2] | 创建数据流。 |
createDataStream [2/2] | 创建数据流。 |
createDataStreamEx [2/2] | 创建数据流。 |
sendStreamMessage | 发送数据流。 |
onStreamMessage | 接收到对方数据流消息的回调。 |
onStreamMessageError | 接收对方数据流消息发生错误的回调。 |
Metadata (SEI)
方法/回调 | 描述 |
---|---|
registerMediaMetadataObserver | 注册媒体 metadata 观测器用于接收或发送 metadata。 |
unregisterMediaMetadataObserver | 取消注册媒体 metadata 观测器。 |
onReadyToSendMetadata | 发送端已准备好发送 metadata。 |
onMetaData | 报告已获取媒体附属信息。 |
onMetadataReceived | 接收端已收到 metadata。 |
音频路由
方法/回调 | 描述 |
---|---|
setDefaultAudioRouteToSpeakerphone | 设置默认的音频路由。 |
setEnableSpeakerphone | 开启或关闭扬声器播放。 |
setRouteInCommunicationMode | 选择通话音量模式下的音频路由。 |
isSpeakerphoneEnabled | 检查扬声器状态启用状态。 |
onAudioRouteChanged | 音频路由已发生变化回调。 |
视频设备管理
方法/回调 | 描述 |
---|---|
switchCamera [1/2] | 切换前置/后置摄像头。 |
switchCamera [2/2] | 通过摄像头 ID 切换摄像头。 |
setCameraCapturerConfiguration | 设置摄像头采集配置。 |
isCameraZoomSupported | 检测设备是否支持摄像头缩放功能。 |
getCameraMaxZoomFactor | 获取摄像头支持最大缩放比例。 |
setCameraZoomFactor | 设置摄像头缩放比例。 |
isCameraTorchSupported | 检测设备是否支持闪光灯常开。 |
setCameraTorchOn | 设置是否打开闪光灯。 |
isCameraFaceDetectSupported | 检查设备摄像头是否支持人脸检测。 |
isCameraFocusSupported | 检测设备是否支持手动对焦功能。 |
isCameraExposureSupported | 查询当前摄像头是否支持曝光调节。 |
setCameraExposureFactor | 设置当前摄像头的曝光系数。 |
setCameraFocusPositionInPreview | 设置手动对焦位置,并触发对焦。 |
isCameraAutoFocusFaceModeSupported | 检测设备是否支持人脸对焦功能。 |
setCameraAutoFocusFaceModeEnabled | 设置是否开启人脸对焦功能。 |
isCameraExposurePositionSupported | 检测设备是否支持手动曝光功能。 |
setCameraExposurePosition | 设置手动曝光位置。 |
onCameraFocusAreaChanged | 相机对焦区域已改变回调。 |
onCameraExposureAreaChanged | 摄像头曝光区域已改变回调。 |
queryCameraFocalLengthCapability | 查询摄像头支持的焦距能力。 |
queryCodecCapability | 查询 SDK 支持的视频编解码能力。 |
音频设备管理
方法/回调 | 描述 |
---|---|
startPlaybackDeviceTest | 启动音频播放设备测试。 |
stopPlaybackDeviceTest | 停止音频播放设备测试。 |
startRecordingDeviceTest | 启动音频采集设备测试。 |
stopRecordingDeviceTest | 停止音频采集设备测试。 |
getAudioDeviceInfo | 获取音频设备信息。 |
插件相关
方法/回调 | 描述 |
---|---|
addExtension | 添加插件。 |
registerExtension | 注册插件。 |
enableExtension | 启用/禁用插件。 |
getExtensionProperty [1/2] | 获取插件的详细信息。 |
getExtensionProperty [2/2] | 获取插件的详细信息。 |
setExtensionProperty | 设置插件的属性。 |
setExtensionProviderProperty | 设置插件服务商的属性。 |
onStartedWithContext | 插件已启用成功回调。 |
onStoppedWithContext | 插件已禁用回调。 |
onEventWithContext | 插件事件回调。 |
onErrorWithContext | 插件出错回调。 |