AR Flutter SDK 基于 Android 和 iOS 平台的 AR RTC SDK 封装,可在基于 Flutter 开发的 Android 和 iOS 移动端应用中快速实现实时音视频功能。
- The RtcEngine 类包含应用程序调用的主要方法。
- The RtcEngineEventHandler 类用于向应用程序发送回调通知。
- The RtcChannel 类在指定频道中实现实时音视频功能。通过创建多个 RtcChannel 对象,用户可以同时加入多个频道。
- The RtcChannelEventHandler 类监听和报告指定频道的事件和数据。
- The StreamKit 类提供了主要的本地推流类接口。
- The RtcMediaPlayer 类提供了主要的播放器媒体流类接口。
频道管理
| 方法 | 描述 |
|---|---|
| create | 创建 RtcEngine 实例 |
| destroy | 销毁 RtcEngine 实例 |
| setChannelProfile | 设置频道场景 |
| setClientRole | 设置直播场景下的用户角色 |
| joinChannel | 加入频道 |
| switchChannel | 快速切换直播频道 |
| leaveChannel | 离开频道 |
| renewToken | 更新 Token |
| getConnectionState | 获取网络连接状态 |
频道事件
| 事件 | 描述 |
|---|---|
| connectionStateChanged | 网络连接状态已改变回调 |
| joinChannelSuccess | 加入频道回调 |
| rejoinChannelSuccess | 重新加入频道回调 |
| leaveChannel | 离开频道回调 |
| clientRoleChanged | 用户角色已切换回调 |
| userJoined | 远端用户加入当前频道回调 |
| userOffline | 远端用户离开当前频道回调 |
| networkTypeChanged | 本地网络类型发生改变回调 |
| connectionLost | 网络连接丢失回调 |
| tokenPrivilegeWillExpire | Token 服务即将过期回调 |
| requestToken | Token 已过期回调 |
本地和服务端推流
| 方法 | 描述 |
|---|---|
| setLiveTranscoding | 设置本地直播转码。 |
| pushStream | 增加本地推流地址。 |
| unPushStream | 删除本地推流地址。 |
| setMode | 合流模式。 |
| create | 创建并返回 StreamKit 实例。 |
| release | 销毁 StreamKit 实例。 |
播放器媒体流
| 方法 | 描述 |
|---|---|
| open | 打开媒体文件 |
| play | 播放媒体文件 |
| pause | 暂停播放媒体文件 |
| mute | 设置是否静音 |
| isMuted | 获取当前静音状态 |
| adjustPlayoutVolume | 调节本地播放音量 |
| getPlayoutVolume | 获取当前本地播放音量 |
| getPlayPosition | 获取当前播放进度 |
| getDuration | 获取媒体文件总时长 |
| getState | 获取当前播放器状态 |
| getStreamCount | 获取该媒体文件中媒体流的数量 |
| getStreamByIndex | 通过此条媒体流的索引值获取媒体流信息 |
| create | 创建并返回 RtcMediaPlayer 对象 |
| destroy | 销毁 RtcMediaPlayer 对象 |
音频管理
| 方法 | 描述 |
|---|---|
| enableAudio | 启用音频模块 |
| disableAudio | 关闭音频模块 |
| setAudioProfile | 设置音频编码配置 |
| adjustRecordingSignalVolume | 调节录音音量 |
| adjustUserPlaybackSignalVolume | 调节本地播放的指定远端用户音量 |
| adjustPlaybackSignalVolume | 调节本地播放的所有远端用户音量 |
| enableLocalAudio | 开关本地音频采集 |
| muteLocalAudioStream | 停止/恢复发送本地音频流 |
| muteRemoteAudioStream | 停止/恢复接收指定音频流 |
| muteAllRemoteAudioStreams | 停止/恢复接收所有音频流 |
| setDefaultMuteAllRemoteAudioStreams | 设置是否默认接收音频流 |
视频管理
| 方法 | 描述 |
|---|---|
| enableVideo | 启用视频模块 |
| disableVideo | 关闭视频模块 |
| setVideoEncoderConfiguration | 设置视频编码配置 |
| startPreview | 开启视频预览 |
| stopPreview | 停止视频预览 |
| enableLocalVideo | 开关本地视频采集 |
| muteLocalVideoStream | 停止/恢复发送本地视频流 |
| muteRemoteVideoStream | 停止/恢复接收指定视频流 |
| muteAllRemoteVideoStreams | 停止/恢复接收所有视频流 |
| setDefaultMuteAllRemoteVideoStreams | 设置是否默认接收视频流 |
本地媒体事件
| 事件 | 描述 |
|---|---|
| localAudioStateChanged | 本地音频状态改变回调 |
| localVideoStateChanged | 本地视频状态改变回调 |
| firstLocalAudioFramePublished | 已发布本地音频首帧回调 |
| firstLocalVideoFramePublished | 已发布本地视频首帧回调 |
| firstLocalVideoFrame | 已显示本地视频首帧回调。 |
| audioPublishStateChanged | 音频发布状态改变回调 |
| videoPublishStateChanged | 视频发布状态改变回调 |
远端媒体事件
| 事件 | 描述 |
|---|---|
| remoteAudioStateChanged | 远端用户音频状态已改变回调 |
| remoteVideoStateChanged | 远端用户视频状态已变化回调 |
| firstRemoteVideoFrame | 已显示远端视频首帧回调 |
| audioSubscribeStateChanged | 音频订阅状态改变回调 |
| videoSubscribeStateChanged | 视频订阅状态改变回调 |
数据统计事件
加入频道后,SDK 每隔 2 秒自动触发本组回调。
| 事件 | 描述 |
|---|---|
| RtcStats | 当前通话统计回调 |
| networkQuality | 网络上下行质量报告回调 |
| localAudioStats | 通话中本地音频流统计信息回调 |
| localVideoStats | 通话中本地视频流统计信息回调 |
| remoteAudioStats | 通话中远端音频流的统计信息回调 |
| remoteVideoStats | 通话中远端视频流统计信息回调 |
多频道管理
| 方法 | 描述 |
|---|---|
| create | 创建并获取一个 RtcChannel 对象。通过创建多个对象,用户可以同时加入多个频道。 |
| RtcChannel | 提供在指定频道内实现实时音视频功能的方法。 |
| RtcChannelEventHandler | 提供监听指定频道事件和数据的回调。 |
音乐文件播放及混音
| 方法 | 描述 |
|---|---|
| startAudioMixing | 开始播放音乐文件 |
| stopAudioMixing | 停止播放音乐文件 |
| pauseAudioMixing | 暂停播放音乐文件 |
| resumeAudioMixing | 恢复播放音乐文件 |
| adjustAudioMixingVolume | 调节音乐文件播放音量 |
| adjustAudioMixingPlayoutVolume | 调节音乐文件的本地播放音量 |
| adjustAudioMixingPublishVolume | 调节音乐文件的远端播放音量 |
| setAudioMixingPitch | 调整本地播放的音乐文件的音调 |
| getAudioMixingPlayoutVolume | 获取音乐文件的本地播放音量 |
| getAudioMixingPublishVolume | 获取音乐文件的远端播放音量 |
| getAudioMixingDuration | 获取音乐文件播放时长 |
| getAudioMixingCurrentPosition | 获取音乐文件的播放进度 |
| setAudioMixingPosition | 设置音乐文件的播放位置 |
| 事件 | 描述 |
|---|---|
| audioMixingStateChanged | 本地用户的音乐文件播放状态已改变回调 |
音效文件播放管理
| 方法 | 描述 |
|---|---|
| getEffectsVolume | 获取播放音效文件音量 |
| setEffectsVolume | 设置播放音效文件音量 |
| setVolumeOfEffect | 实时调整播放音效文件音量 |
| playEffect | 播放指定音效文件 |
| stopEffect | 停止播放指定音效文件 |
| stopAllEffects | 停止播放所有音效文件 |
| preloadEffect | 将音效文件加载至内存 |
| unloadEffect | 从内存释放某个预加载的音效文件 |
| pauseEffect | 暂停音效文件播放 |
| pauseAllEffects | 暂停所有音效文件播放 |
| resumeEffect | 恢复播放指定音效文件 |
| resumeAllEffects | 恢复播放所有音效文件 |
| 事件 | 描述 |
|---|---|
| audioEffectFinished | 本地音效文件播放已结束回调 |
CDN 推流
该组方法仅适用于互动直播。
| 方法 | 描述 |
|---|---|
| setLiveTranscoding | 设置直播转码 |
| addPublishStreamUrl | 增加旁路推流地址 |
| removePublishStreamUrl | 删除旁路推流地址 |
| 事件 | 描述 |
|---|---|
| rtmpStreamingStateChanged | 旁路推流状态改变回调 |
| transcodingUpdated | 旁路推流设置已被更新回调 |
| rtmpStreamingEvent | RTMP 推流事件回调 |
跨频道媒体流转发
| 方法 | 描述 |
|---|---|
| startChannelMediaRelay | 开始跨频道媒体流转发 |
| updateChannelMediaRelay | 更新媒体流转发的频道 |
| stopChannelMediaRelay | 停止跨频道媒体流转发 |
| 事件 | 描述 |
|---|---|
| channelMediaRelayStateChanged | 跨频道媒体流转发状态发生改变回调 |
| channelMediaRelayEvent | 跨频道媒体流转发事件回调 |
音量提示
| 方法 | 描述 |
|---|---|
| enableAudioVolumeIndication | 启用说话者音量提示 |
| 事件 | 描述 |
|---|---|
| audioVolumeIndication | 提示频道内谁正在说话及说话者音量的回调 |
| activeSpeaker | 监测到活跃用户回调 |
语音播放路由
| 方法 | 描述 |
|---|---|
| setDefaultAudioRoutetoSpeakerphone | 设置默认的音频播放路由 |
| setEnableSpeakerphone | 启用/关闭扬声器播放 |
| isSpeakerphoneEnabled | 查询扬声器启用状态 |
| 事件 | 描述 |
|---|---|
| audioRouteChanged | 语音路由已改变回调 |
耳返控制
| 方法 | 描述 |
|---|---|
| enableInEarMonitoring | 开启耳返功能 |
| setInEarMonitoringVolume | 设置耳返音量 |
视频双流模式
| 方法 | 描述 |
|---|---|
| enableDualStreamMode | 开关视频双流模式 |
| setRemoteVideoStreamType | 设置订阅的视频流类型 |
| setRemoteDefaultVideoStreamType | 设置默认订阅的视频流类型 |
音频录制
| 方法 | 描述 |
|---|---|
| startAudioRecording | 开始客户端录音 |
| stopAudioRecording | 停止客户端录音 |
摄像头控制
| 方法 | 描述 |
|---|---|
| switchCamera | 切换前置/后置摄像头 |
| isCameraZoomSupported | 检测设备是否支持摄像头缩放功能 |
| isCameraTorchSupported | 检测设备是否支持闪光灯常开 |
| isCameraFocusSupported | 检测设备是否支持手动对焦功能 |
| isCameraExposurePositionSupported | 检测设备是否支持手动曝光功能 |
| isCameraAutoFocusFaceModeSupported | 检测设备是否支持人脸对焦功能 |
| setCameraZoomFactor | 设置摄像头缩放比例 |
| getCameraMaxZoomFactor | 获取摄像头支持最大缩放比例 |
| setCameraFocusPositionInPreview | 设置手动对焦位置,并触发对焦 |
| setCameraExposurePosition | 设置手动曝光位置 |
| setCameraTorchOn | 设置是否打开闪光灯 |
| setCameraAutoFocusFaceModeEnabled | 设置是否开启人脸对焦功能 |
| 事件 | 描述 |
|---|---|
| cameraFocusAreaChanged | 摄像头对焦区域已改变回调 |
| cameraExposureAreaChanged | 摄像头曝光区域已改变回调 |
其他视频控制
| 方法 | 描述 |
|---|---|
| setCameraCapturerConfiguration | 设置摄像头的采集偏好 |
其他方法
| 方法 | 描述 |
|---|---|
| getCallId | 获取通话 ID |
| rate | 给通话评分 |
| complain | 投诉通话质量 |
| setLogFile | 设置日志文件 |
| setLogFilter | 设置日志输出等级 |
| setLogFileSize | 设置日志文件大小 |
其他事件
| 事件 | 描述 |
|---|---|
| warning | 发生警告回调 |
| error | 发生错误回调 |
| apiCallExecuted | API 方法已执行回调 |

