API 概览
声网通过全球部署的 SD-RTN™,提供可以灵活搭配的 API 组合,实现质量可靠的实时音视频通信。
初始化相关
| API | 描述 |
|---|---|
| sharedEngineWithAppId:delegate: | 创建并初始化 AgoraRtcEngineKit 实例。 |
| sharedEngineWithConfig:delegate: | 创建并初始化 AgoraRtcEngineKit 实例。 |
| destroy: | 销毁 AgoraRtcEngineKit 实例并释放相关资源。 |
| destroy | 释放 AgoraRtcEngineKit 实例。 |
频道相关
发布和订阅
音频基础功能
| API | 描述 |
|---|---|
| adjustPlaybackSignalVolume: | 调节所有远端用户的播放信号音量。 |
| adjustUserPlaybackSignalVolume:volume: | 调整指定远端用户的播放音量。 |
| adjustUserPlaybackSignalVolumeEx:volume:connection: | 调节指定远端用户的播放信号音量。 |
| disableAudio | 禁用音频模块。 |
| enableAudio | 启用音频模块。 |
| enableAudioVolumeIndication:smooth:reportVad: | 启用用户音量提示的上报功能。 |
| enableAudioVolumeIndicationEx:smooth:reportVad:connection: | 启用用户音量提示的上报功能。 |
| setAudioProfile: | 设置音频配置。 |
| setAudioScenario: | 设置音频场景。 |
| rtcEngine:activeSpeaker: | 检测到最活跃的远端说话人时触发的回调。 |
| rtcEngine:reportAudioVolumeIndicationOfSpeakers:totalVolume: | 报告用户音量信息的回调。 |
| rtcEngine:firstLocalAudioFramePublished: | 本地音频首帧发布回调。 |
| rtcEngine:firstRemoteAudioFrameOfUid:elapsed: | rtcEngine:firstRemoteAudioFrameOfUid:elapsed: 回调。远端用户的第一帧音频被接收并解码时触发。 |
| rtcEngine:localAudioStateChanged:reason: | 本地音频流状态发生变化时的回调。 |
| rtcEngine:localAudioStats: | 上报本地音频流的统计信息。 |
| rtcEngine:remoteAudioStateChangedOfUid:state:reason:elapsed: | 远端音频状态发生变化回调。 |
| rtcEngine:remoteAudioStats: | 上报每个远端音频流的传输层统计信息。 |
| rtcEngine:didAudioMuted:byUid: | rtcEngine:didAudioMuted:byUid: 回调。当远端用户或主播停止或恢复发送音频流时触发。 |
音频采集
| API | 描述 |
|---|---|
| adjustLoopbackSignalVolume: | 调节声卡采集信号的音量。 |
| adjustRecordingSignalVolume: | 调节采集音量。 |
| enableInEarMonitoring: | 启用或关闭耳返监听功能。 |
| enableInEarMonitoring:includeAudioFilters: | 启用或关闭耳返监听功能。 |
| enableLocalAudio: | 启用或关闭本地音频采集功能。 |
| enableLoopbackRecording:deviceName: | 启用声卡回采功能。 |
| enableLoopbackRecordingEx:deviceName:connection: | 启用回环音频采集。 |
| muteRecordingSignal: | 设置是否静音录制信号。 |
| setInEarMonitoringVolume: | 设置耳返音量。 |
人声音效
| API | 描述 |
|---|---|
| enableVoiceAITuner:type: | 启用或关闭语音 AI 调音器。 |
| setAdvancedAudioOptions: | 设置音频高级选项。 |
| setAINSMode:mode: | 设置是否启用 AI 降噪功能并设置降噪模式。 |
| setAudioEffectParameters:param1:param2: | 设置 SDK 预设音效的参数。 |
| setAudioEffectPreset: | 设置 SDK 预设的音效效果。 |
| setLocalVoiceEqualizationOfBandFrequency:withGain: | 设置本地语音的均衡效果。 |
| setLocalVoiceFormant: | 设置共振峰比例以改变人声音色。 |
| setLocalVoicePitch: | 改变本地语音的音调。 |
| setLocalVoiceReverbOfType:withValue: | 设置本地语音的混响效果。 |
| setVoiceBeautifierParameters:param1:param2: | 设置预设美声特效的参数。 |
| setVoiceBeautifierPreset: | 设置预设的美声特效。 |
| setVoiceConversionPreset: | 设置预设的变声效果。 |
听声辨位
| API | 描述 |
|---|---|
| enableSoundPositionIndication: | 启用或关闭远端用户的立体声声像功能。 |
| setRemoteVoicePosition:pan:gain: | 设置远端用户语音的二维位置和音量。 |
| setRemoteVoicePositionEx:pan:gain:connection: | 设置远端用户语音的二维位置和音量。 |
空间音频
| API | 描述 |
|---|---|
| sharedLocalSpatialAudioWithConfig: | 初始化 AgoraLocalSpatialAudioKit 实例。 |
| clearRemotePositions: | 移除所有远端用户的空间位置。 |
| enableSpatialAudio: | 启用或关闭空间音效。 |
| muteAllRemoteAudioStreams: | 停止或恢复订阅所有远端用户的音频流。 |
| muteLocalAudioStream: | 停止或恢复发布本地音频流。 |
| muteRemoteAudioStream:mute: | 停止或恢复订阅指定用户的音频流。 |
| destroy | 销毁 AgoraLocalSpatialAudioKit 实例。 |
| removeRemotePosition: | 移除指定远端用户的空间位置。 |
| setAudioRecvRange: | 设置你可接收的音频范围。 |
| setDistanceUnit: | 设置游戏引擎中每个单位距离对应的米数。 |
| setHeadphoneEQParameters:highGain: | 设置耳机均衡器的低频和高频参数。 |
| setHeadphoneEQPreset: | 设置预设的耳机均衡效果。 |
| setMaxAudioRecvCount: | 设置你在指定音频接收范围内可接收的最大音频流数量。 |
| setPlayerAttenuation:playerId:forceSet: | 设置媒体播放器的声音衰减属性。 |
| setRemoteAudioAttenuation:uid:forceSet: | 设置指定用户的声音衰减效果。 |
| setRemoteUserSpatialAudioParams:params: | 设置远端用户的空间音效参数。 |
| setSpatialAudioParams: | 启用或关闭媒体播放器的空间音效。 |
| setZones: | 设置声源隔音区域。 |
| updatePlayerPositionInfo:positionInfo: | 更新媒体播放器的空间位置。 |
| updateRemotePosition:positionInfo: | 更新指定远端用户的空间位置。 |
| updateSelfPosition:axisForward:axisRight:axisUp: | 更新本地用户的空间位置。 |
本地音频合流
| API | 描述 |
|---|---|
| startLocalAudioMixer: | 开始本地混音。 |
| stopLocalAudioMixer | 停止本地混音。 |
| updateLocalAudioMixerConfiguration: | 更新本地混音配置。 |
原始音频数据
已编码音频数据
| API | 描述 |
|---|---|
| setAudioEncodedFrameDelegate:config: | 注册编码音频数据的观察者。 |
| onMixedEncodedAudioFrame:info: | 获取本地和所有远端用户的混音编码音频数据回调。 |
| onPlaybackEncodedAudioFrame:info: | 获取所有远端用户的编码音频数据回调。 |
| onRecordEncodedAudioFrame:info: | 获取本地用户的编码音频数据回调。 |
自定义音频采集和渲染
| API | 描述 |
|---|---|
| adjustCustomAudioPlayoutVolume:volume: | 调节本地播放的自定义音频轨道的音量。 |
| adjustCustomAudioPublishVolume:volume: | 调节远端播放的自定义音频轨道的音量。 |
| createCustomAudioTrack:config: | 创建一个自定义音频轨道。 |
| destroyCustomAudioTrack: | 销毁指定的音频轨道。 |
| enableCustomAudioLocalPlayback:enabled: | 设置是否启用外部音频源的本地播放。 |
| pullPlaybackAudioFrameRawData:lengthInByte: | 拉取远端音频数据。 |
| pullPlaybackAudioFrameSampleBufferByLengthInByte: | 拉取 SampleBuffer 格式的远端音频数据。 |
| pushExternalAudioFrameRawData:samples:sampleRate:channels:trackId:timestamp: | 将外部音频帧推送到 SDK。 |
| pushExternalAudioFrameSampleBuffer:sampleRate:channels:trackId: | 通过自定义音频轨道将外部 CMSampleBuffer 音频帧推送到频道中。 |
| enableExternalAudioSink:sampleRate:channels: | 设置外部音频渲染。 |
音频频谱
| API | 描述 |
|---|---|
| disableAudioSpectrumMonitor | 禁用音频频谱监测。 |
| enableAudioSpectrumMonitor: | 开启音频频谱监测。 |
| registerAudioSpectrumDelegate: | 注册音频频谱观察者。 |
| unregisterAudioSpectrumDelegate: | 取消注册音频频谱观察者。 |
| onLocalAudioSpectrum: | 获取本地音频频谱数据。 |
| onRemoteAudioSpectrum: | 获取远端音频频谱信息回调。 |
视频基础功能
摄像头采集
| API | 描述 |
|---|---|
| startCameraCapture:config: | 开始视频采集。 |
| stopCameraCapture: | 停止视频采集。 |
屏幕采集
| API | 描述 |
|---|---|
| getScreenCaptureSourcesWithThumbSize:iconSize:includeScreen: | 获取可共享的屏幕和窗口列表。 |
| setScreenCaptureScenario: | 设置屏幕共享场景。 |
| startScreenCapture: | 开始屏幕采集。 |
| startScreenCapture:config: | 开始屏幕共享。 |
| startScreenCaptureByDisplayId:regionRect:captureParams: | 通过指定屏幕 ID 采集屏幕。 |
| startScreenCaptureByWindowId:regionRect:captureParams: | 通过指定窗口 ID 采集整个或部分窗口的屏幕内容。 |
| stopScreenCapture | 停止屏幕采集。 |
| stopScreenCapture: | 停止来自指定视频源的屏幕采集。 |
| updateScreenCaptureParameters: | 更新屏幕采集参数。 |
| updateScreenCaptureRegion: | 更新屏幕采集区域。 |
本地截图上传
| API | 描述 |
|---|---|
| enableContentInspect:config: | 启用或关闭本地截图上传功能。 |
| enableContentInspectEx:config:connection: | 启用或关闭本地截图上传功能。 |
| takeSnapshot:filePath: | 截取视频流快照并保存为 JPG 图像。 |
| takeSnapshotWithConfig:config: | 截取指定用户视频的截图并保存为 JPG 文件。 |
| takeSnapshotEx:uid:filePath: | 使用连接 ID 对视频流进行截图。 |
| takeSnapshotExWithConfig:uid:config: | 获取指定用户视频流的截图。 |
| rtcEngine:snapshotTaken:filePath:width:height:errCode: | 报告视频截图的结果。 |
虚拟背景
| API | 描述 |
|---|---|
| enableVirtualBackground:backData:segData: | 启用或关闭虚拟背景功能。 |
| enableVirtualBackground:backData:segData:sourceType: | 启用虚拟背景并指定媒体源,或关闭虚拟背景。 |
本地合图
| API | 描述 |
|---|---|
| startLocalVideoTranscoder: | 开始本地合图。 |
| stopLocalVideoTranscoder | 停止本地合图。 |
| updateLocalTranscoderConfiguration: | 更新本地合图配置。 |
| rtcEngine:didLocalVideoTranscoderErrorWithStream:errorCode: | 本地合图过程中发生错误时触发的回调。 |
视频增强
人像锁定
| API | 描述 |
|---|---|
| enableCameraCenterStage: | 开启或关闭人像锁定功能。 |
| isCameraCenterStageSupported | 检查当前摄像头是否支持人像锁定。 |
直播水印
| API | 描述 |
|---|---|
| addVideoWatermarkWithConfig: | 向本地视频添加水印图像。 |
| addVideoWatermarkEx:connection: | 向本地视频添加水印图像。 |
| clearVideoWatermarkEx: | 从视频流中移除水印图像。 |
| clearVideoWatermarks | 从视频流中移除水印图像。 |
| removeVideoWatermark: | 从本地视频中移除水印图像。 |
| removeVideoWatermarkEx:connection: | 从本地或远端视频流中移除指定的水印图像。 |
垫片推流
| API | 描述 |
|---|---|
| enableVideoImageSource:options: | 设置在发布视频流时是否用图片替代当前视频画面。 |
视频渲染
| API | 描述 |
|---|---|
| enableInstantMediaRendering | 启用音视频帧的极速渲染。 |
| setLocalRenderMode:mirror: | 更新本地视频视图的显示模式。 |
| setLocalRenderTargetFps:targetFps: | 设置本地视频渲染的最大帧率。 |
| setRemoteRenderMode:mode:mirror: | 更新远端用户视频视图的显示模式。 |
| setRemoteRenderModeEx:mode:mirror:connection: | 设置指定远端用户的视频显示模式。 |
| setRemoteRenderTargetFps: | 设置远端视频渲染的最大帧率。 |
| setRenderMode: | 设置媒体播放器的渲染模式。 |
| setupLocalVideo: | 初始化本地视频画面。 |
| setupRemoteVideo: | 初始化远端用户的视频视图。 |
| setupRemoteVideoEx:connection: | 初始化远端用户的视频视图。 |
| startMediaRenderingTracing | 启用视频帧渲染过程的追踪功能。 |
| startMediaRenderingTracingEx: | 启用视频帧渲染过程的追踪。 |
| rtcEngine:videoRenderingTracingResultOfUid:currentEvent:tracingInfo: | 视频帧渲染事件的回调。 |
原始视频数据
| API | 描述 |
|---|---|
| getMirrorApplied | 设置是否镜像采集的视频。 |
| getObservedFramePosition | 设置视频观察器的帧位置。 |
| getRotationApplied | 每次 SDK 接收到视频帧时触发,并提示你是否旋转采集的视频。 |
| getVideoFormatPreference | 设置 SDK 输出的原始视频数据格式。 |
| getVideoFrameProcessMode | getVideoFrameProcessMode 回调。每次 SDK 接收到视频帧时触发,并提示你设置视频帧的处理模式。 |
| setVideoFrameDelegate: | 注册原始视频帧观察者对象。 |
| onCaptureVideoFrame:sourceType: | 每次 SDK 接收到本地设备采集的视频帧时触发。 |
| onPreEncodeVideoFrame:sourceType: | 每次 SDK 在编码前接收到视频帧时触发。 |
| onRenderVideoFrame:uid:channelId: | 每次 SDK 接收到远端用户发送的视频帧时触发。 |
已编码视频数据
| API | 描述 |
|---|---|
| setEncodedVideoFrameDelegate: | 注册一个用于接收编码后视频图像的对象。 |
| onEncodedVideoFrameReceived:length:info:channelId:uid: | 本地回调远端发送的待解码视频帧信息。 |
自定义视频采集和渲染
| API | 描述 |
|---|---|
| createCustomVideoTrack | 创建一个自定义视频轨道。 |
| destroyCustomVideoTrack: | 销毁指定的视频轨道。 |
| pushExternalVideoFrame:videoTrackId: | 通过视频轨道将外部原始视频帧推送到 SDK。 |
| setExternalVideoSource:useTexture:sourceType: | 配置外部视频源。 |
音乐文件播放
| API | 描述 |
|---|---|
| adjustAudioMixingPlayoutVolume: | 调整本地播放的混音音量。 |
| adjustAudioMixingPublishVolume: | 调节用于发布的混音音量。 |
| adjustAudioMixingVolume: | 调节混音时的音量。 |
| getAudioMixingCurrentPosition | 获取当前混音的播放位置(毫秒)。 |
| getAudioMixingDuration | 获取音频文件的混音时长(毫秒)。 |
| getAudioMixingPlayoutVolume | 获取本地播放的混音音量。 |
| getAudioMixingPublishVolume | 获取用于发布的混音音量。 |
| getAudioTrackCount | 获取当前音乐文件的音轨索引。 |
| pauseAudioMixing | 暂停播放和混音音乐文件。 |
| resumeAudioMixing | 恢复播放并混音音乐文件。 |
| selectAudioTrack: | 选择用于播放的音轨。 |
| selectMultiAudioTrack:publishTrackIndex: | 分别选择要在本地设备播放和发布到频道的音轨。 |
| setAudioMixingDualMonoMode: | 设置当前音频文件的声道模式。 |
| setAudioMixingPitch: | 设置本地音乐文件的音调。 |
| setAudioMixingPlaybackSpeed: | 设置当前音频文件的播放速度。 |
| setAudioMixingPosition: | 设置混音的播放位置。 |
| startAudioMixing:loopback:cycle: | 开始播放音乐文件。 |
| startAudioMixing:loopback:cycle:startPos: | 开始播放音乐文件。 |
| stopAudioMixing | 停止播放音乐文件。 |
| rtcEngine:audioMixingPositionChanged: | 报告音乐文件的播放进度。 |
| rtcEngine:audioMixingStateChanged:reasonCode: | 音乐文件播放状态发生变化回调。 |
音效文件播放
虚拟节拍器
| API | 描述 |
|---|---|
| configRhythmPlayer: | 配置虚拟节拍器。 |
| startRhythmPlayer:sound2:config: | 启用虚拟节拍器。 |
| stopRhythmPlayer | 禁用虚拟节拍器。 |
| rtcEngine:didRhythmPlayerStateChanged:reason: | 当虚拟节拍器状态发生变化时触发的回调。 |
初始化
| API | 描述 |
|---|---|
| createMediaPlayerWithDelegate: | 创建一个媒体播放器实例。 |
| destroyMediaPlayer: | 销毁媒体播放器实例。 |
| createMediaPlayerCacheManager | 创建一个 AgoraRtcMediaPlayerCacheManagerProtocol 实例。 |
| setVideoFrameDelegate: | 注册媒体播放器的视频帧观察者对象。 |
媒体资源打开
| API | 描述 |
|---|---|
| open:startPos: | 打开媒体资源。 |
| openWithMediaSource: | 打开媒体文件并配置播放场景。 |
| preloadSrc:startPos: | 预加载媒体资源。 |
| switchSrc:syncPts: | 切换正在播放的媒体资源。 |
| unloadSrc: | 卸载你预加载的媒体资源。 |
媒体资源播放和渲染
| API | 描述 |
|---|---|
| selectAudioTrack: | 选择播放过程中使用的音轨。 |
| setAudioDualMonoMode: | 设置当前音频文件的声道模式。 |
| setAudioPitch: | 设置当前媒体资源的音调。 |
| setLoopCount: | 设置循环播放次数。 |
| setPlaybackSpeed: | 设置当前音频文件的播放速度。 |
| setPlayerOption:value: | 设置媒体播放器选项。 |
| setPlayerOptionString:value: | 设置媒体播放器的选项。 |
| setView: | 设置渲染视图。 |
播放器控制
| API | 描述 |
|---|---|
| adjustPlayoutVolume: | 调整本地播放音量。 |
| adjustPublishSignalVolume: | 调节用于发布的媒体文件音量。 |
| mute: | 设置是否静音媒体文件。 |
| pause | 暂停播放。 |
| play | 播放媒体文件。 |
| playPreloadedSrc: | 播放已预加载的媒体资源。 |
| resume | 恢复播放媒体文件。 |
| seekToPosition: | 跳转到新的播放位置。 |
| stop: | 停止播放媒体轨道。 |
播放信息获取
| API | 描述 |
|---|---|
| getDuration | 获取媒体资源的时长。 |
| getMediaPlayerId | 获取媒体播放器的 ID。 |
| getMute | 报告媒体资源是否被静音。 |
| getPlayoutVolume | 获取本地播放音量。 |
| getPosition | 获取当前本地播放进度。 |
| getPlaySrc | 获取正在播放的媒体资源路径。 |
| getPublishSignalVolume | 获取用于发布的媒体文件音量。 |
| getPlayerState | 获取当前播放状态。 |
| getStreamCount | 获取媒体资源中的流的数量。 |
| getStreamByIndex: | 获取媒体流的详细信息。 |
| AgoraRtcMediaPlayer:playbackStats: | 播放媒体文件的统计信息回调。 |
音视频观测器
| API | 描述 |
|---|---|
| AgoraRtcMediaPlayerGetVideoPixelFormat | 设置原始视频数据的格式。 |
| AgoraRtcMediaPlayer:didReceivePixelBuffer: | 媒体播放器接收到视频源的像素缓冲区时触发的回调。 |
| AgoraRtcMediaPlayer:didReceiveVideoFrame: | 每次播放器接收到视频帧时触发的回调。 |
| AgoraRtcMediaPlayer:volumeIndicationDidReceive: | 报告媒体播放器的音量。 |
| AgoraRtcMediaPlayer:didReceiveAudioFrame: | 每次播放器接收到音频帧时触发的回调。 |
| AgoraRtcMediaPlayer:didReceiveData:length: | 接收到媒体元数据时触发的回调。 |
| AgoraRtcMediaPlayer:didPlayBufferUpdated: | 报告缓冲数据可支持的播放时长。 |
| AgoraRtcMediaPlayer:didOccurEvent:elapsedTime:message: | 上报播放器事件。 |
| AgoraRtcMediaPlayer:infoUpdated: | 媒体播放器相关信息发生变化时的回调。 |
| AgoraRtcMediaPlayer:didChangedToState:reason: | 播放状态发生变化时触发的回调。 |
| AgoraRtcMediaPlayer:playerSrcInfoDidChange:from: | 媒体文件播放源信息变化回调。 |
| AgoraRtcMediaPlayer:didChangedToPosition:atTimestamp: | 播放进度回调。 |
| AgoraRtcMediaPlayer:didPreloadEvent: | 上报预加载媒体资源的事件。 |
媒体播放器缓存
| API | 描述 |
|---|---|
| enableAutoRemoveCache: | 设置是否自动删除缓存的媒体文件。 |
| cacheDir | 获取缓存媒体文件的存储路径。 |
| cacheFileCount | 获取已缓存的媒体文件数量。 |
| maxCacheFileCount | 获取可缓存的媒体文件的最大数量。 |
| maxCacheFileSize | 获取缓存媒体文件的聚合存储空间的最大大小。 |
| removeAllCaches | 删除媒体播放器中所有缓存的媒体文件。 |
| removeCacheByUri: | 删除缓存的媒体文件。 |
| removeOldCache | 删除最少使用的缓存媒体文件。 |
| setCacheDir: | 设置要缓存的媒体文件的存储路径。 |
| setMaxCacheFileCount: | 设置可缓存的媒体文件数量上限。 |
| setMaxCacheFileSize: | 设置用于缓存媒体文件的聚合存储空间的最大大小。 |
| sharedInstance | 获取 AgoraRtcMediaPlayerCacheManagerProtocol 实例。 |
| AgoraRtcMediaPlayer:cacheStats: | 上报正在缓存的媒体文件的统计信息。 |
音视频录制
| API | 描述 |
|---|---|
| createMediaRecorder: | 创建一个媒体录制器实例。 |
| destroyMediaRecorder: | 销毁音视频录制器实例。 |
| enableMainQueueDispatch: | 设置是否将回调方法派发到主线程。 |
| setMediaRecorderDelegate: | 注册 AgoraMediaRecorderDelegate 观察者。 |
| startAudioRecording:quality: | 开始客户端录音。 |
| startAudioRecordingWithConfig: | 开始客户端录制并配置录制设置。 |
| startRecording: | 开始录制音视频流。 |
| stopAudioRecording | 停止客户端录制音频。 |
| stopRecording | 停止录制音视频流。 |
| mediaRecorder:informationDidUpdated:uid:info: | 录制信息更新回调。 |
| mediaRecorder:stateDidChanged:uid:state:reason: | 录制状态发生变化时的回调。 |
跨频道媒体流转发
| API | 描述 |
|---|---|
| pauseAllChannelMediaRelay | 暂停向所有目标频道的跨频道媒体流转发。 |
| pauseAllChannelMediaRelayEx: | 暂停向所有目标频道的跨频道媒体流转发。 |
| resumeAllChannelMediaRelay | 恢复向所有目标频道的跨频道媒体流转发。 |
| resumeAllChannelMediaRelayEx: | 恢复向所有目标频道的跨频道媒体流转发。 |
| startOrUpdateChannelMediaRelay: | 开始或更新跨频道媒体流转发。 |
| startOrUpdateChannelMediaRelayEx:connection: | 开始或更新跨频道媒体流转发。 |
| stopChannelMediaRelay | 停止跨频道媒体流转发。 |
| stopChannelMediaRelayEx: | 停止跨频道媒体流转发。 |
| rtcEngine:channelMediaRelayStateDidChange:error: | 跨频道媒体流转发状态发生变化回调。 |
旁路推流
| API | 描述 |
|---|---|
| startRtmpStreamWithoutTranscoding: | 开始向 CDN 推流(不进行转码)。 |
| startRtmpStreamWithoutTranscodingEx:connection: | 开始向 CDN 推送未经转码的媒体流。 |
| startRtmpStreamWithTranscoding:transcoding: | 开始旁路推流并设置转码配置。 |
| startRtmpStreamWithTranscodingEx:transcoding:connection: | 开始旁路推流并设置转码配置。 |
| stopRtmpStream: | 停止向 CDN 推送媒体流。 |
| stopRtmpStreamEx:connection: | 停止向指定 CDN 地址推送媒体流。 |
| updateRtmpTranscoding: | 更新旁路推流的转码配置。 |
| updateRtmpTranscodingEx:connection: | 更新旁路推流的转码配置。 |
| rtcEngine:rtmpStreamingEventWithUrl:eventCode: | 报告旁路推流过程中的事件。 |
| rtcEngine:rtmpStreamingChangedToState:state:reason: | RTMP 或 RTMPS 推流状态发生变化时触发的回调。 |
| rtcEngineTranscodingUpdated: | 发布端的云端转码设置更新时触发的回调。 |
直推 CDN
| API | 描述 |
|---|---|
| onDirectCdnStreamingStateChanged:reason:message: | CDN 推流状态发生变化回调。 |
| onDirectCdnStreamingStats: | 上报 CDN 推流统计信息。 |
数据流 Datastream
| API | 描述 |
|---|---|
| createDataStream:reliable:ordered: | 创建数据流。 |
| createDataStream:config: | 创建一个数据流。 |
| createDataStreamEx:config:connection: | 创建一个数据流。 |
| sendStreamMessage:data: | 发送数据流消息。 |
| rtcEngine:receiveStreamMessageFromUid:streamId:data: | 当本地用户收到远端用户发送的数据流时触发。 |
| rtcEngine:didOccurStreamMessageErrorFromUid:streamId:error:missed:cached: | 当本地用户未收到远端用户发送的数据流时触发的回调。 |
媒体流附属信息分发
| API | 描述 |
|---|---|
| metadataMaxSize | 当 SDK 请求元数据的最大大小时触发。 |
| readyToSendMetadataAtTimestamp:sourceType: | 当 SDK 准备好发送元数据时触发回调。 |
| setMediaMetadataDelegate:withType: | 注册元数据观察者。 |
| setMediaMetadataDataSource:withType: | 设置元数据的数据源。 |
| didMetadataReceived: | 当本地用户接收到元数据时触发。 |
音频路由
| API | 描述 |
|---|---|
| rtcEngine:didAudioRouteChanged: | 本地音频路由发生变化时的回调。 |
通用设备管理
| API | 描述 |
|---|---|
| enumerateDevices: | 枚举系统中的所有音频和视频设备。 |
| getDeviceInfo: | 获取当前设备名称。 |
| getDeviceVolume: | 获取当前设备的音量。 |
| monitorDeviceChange: | 监控设备状态变化。 |
| setDeviceVolume:volume: | 设置指定设备的音量。 |
| rtcEngine:device:type:stateChanged: | 报告设备状态的变化回调。 |
视频设备管理
| API | 描述 |
|---|---|
| queryCodecCapability | 查询设备支持的视频编解码能力。 |
| setCameraCapturerConfiguration: | 设置视频采集配置。 |
| setDevice:deviceId: | 指定具有设备 ID 的设备。 |
音频设备管理
| API | 描述 |
|---|---|
| followSystemPlaybackDevice: | 设置 SDK 使用的音频播放设备是否跟随系统默认音频播放设备。 |
| followSystemRecordingDevice: | 设置你使用的 SDK 音频录制设备是否跟随系统默认音频录制设备。 |
| getDefaultAudioDevice: | 获取系统的默认音频设备。 |
| startAudioDeviceLoopbackTest: | 开始音频设备回路测试。 |
| startPlaybackDeviceTest: | 启动本地音频播放设备测试。 |
| startRecordingDeviceTest: | 启动音频采集设备测试。 |
| stopAudioDeviceLoopbackTest | 停止音频设备回路测试。 |
| stopPlaybackDeviceTest | 停止音频播放设备测试。 |
| stopRecordingDeviceTest | 停止音频采集设备测试。 |
插件
| API | 描述 |
|---|---|
| enableExtensionWithVendor:extension:enabled:sourceType: | 启用或禁用扩展功能。 |
| getExtensionPropertyWithVendor:extension:key: | 获取扩展组件的详细信息。 |
| getExtensionPropertyWithVendor:extension:key:sourceType: | 获取扩展的详细信息。 |
| registerExtensionWithVendor:extension:sourceType: | 注册一个扩展。 |
| setExtensionPropertyWithVendor:extension:key:value: | 设置扩展属性。 |
| setExtensionProviderPropertyWithVendor:key:value: | 设置扩展提供方的属性。 |
| onExtensionErrorWithContext:error:message: | 当扩展运行异常时触发的回调。 |
| onEventWithContext:key:value: | 扩展的事件回调。 |
| onExtensionStartedWithContext: | 扩展启用成功时触发的回调。 |
| onExtensionStoppedWithContext: | 当扩展被禁用时触发的回调。 |