Flutter 概览

最近更新时间:2022-09-20 05:17:40

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网络连接丢失回调
tokenPrivilegeWillExpireToken 服务即将过期回调
requestTokenToken 已过期回调

本地和服务端推流

方法描述
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旁路推流设置已被更新回调
rtmpStreamingEventRTMP 推流事件回调

跨频道媒体流转发

方法描述
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发生错误回调
apiCallExecutedAPI 方法已执行回调

Libraries