# flutter_trtc_plugin
**Repository Path**: bop_flutter/flutter_trtc_plugin
## Basic Information
- **Project Name**: flutter_trtc_plugin
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-03-08
- **Last Updated**: 2022-07-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 腾讯云音视频Flutter插件文档
## 基础部分
### 初始化SDK
| sharedInstance | | |
| -------------- | ---- | ---- |
| | | |
### 销毁SDK
| destroySharedInstance | | |
| --------------------- | ---- | ---- |
| | | |
### 本地获取UserSig
| getUserSig | | |
| ---------------- | -------- | ---- |
| int sdkAppId | | |
| String secretKey | | |
| String userId | 用户标识 | |
## 房间部分
### 进入房间
| enterRoom | | |
| -------------- | -------- | :---------------------------------------------- |
| int sdkAppId | 应用标识 | |
| String userId | 用户标识 | |
| String userSig | 用户签名 | |
| int roomId | 房间号码 | |
| int scene | 应用场景 | 0-视频通话 1-在线直播、2-语音通话、3-语音聊天室 |
| int role | 角色 | 20-主播 21-观众 |
### 离开房间
| exitRoom | | |
| -------- | ---- | ---- |
| | | |
### 设置音视频数据接收模式,需要在进房前设置才能生效。
| setDefaultStreamRecvMode | | |
| ------------------------ | ---------------- | ------------ |
| bool isReceivedAudio | 自动接收音频数据 | 默认值:true |
| bool isReceivedVideo | 自动接收视频数据 | 默认值:true |
## 视频部分
### 创建PlatformView
| createPlatformView | | |
| ---------------------------------- | ---------------------------- | ---- |
| String userId | 用户ID | |
| Function(int viewId) onViewCreated | 视图创建成功回调,返回视图ID | |
### 销毁PlatformView
| destroyPlatformView | | |
| ------------------- | ------ | ---- |
| Int viewId | 视图ID | |
### 开启本地视频的预览画面
| startLocalPreview | | |
| ----------------- | ---------------- | ------------ |
| bool frontCamera | 是否为前置摄像头 | 默认值:true |
| int viewId | 视图ID | |
### 停止本地视频采集及预览
| stopLocalPreview | | |
| ---------------- | ---- | ---- |
| | | |
### 开始显示远端视频画面
| startRemoteView | | |
| --------------- | -------------- | ---- |
| String userId | 对方的用户标识 | |
| int viewId | 视图ID | |
###停止显示远端视频画面,同时不再拉取该远端用户的视频数据流
| stopRemoteView | | |
| -------------- | -------------- | ---- |
| String userId | 对方的用户标识 | |
### 停止显示所有远端视频画面,同时不再拉取远端用户的视频数据流
| stopAllRemoteView | | |
| ----------------- | ---- | ---- |
| | | |
### 是否停止推送本地的视频数据
| muteLocalVideo | | |
| -------------- | ---- | ------------- |
| bool mote | 屏蔽 | 默认值:false |
### 设置本地图像的渲染模式
| setLocalViewFillMode | | |
| -------------------- | -------------- | ------------------------------------------------- |
| int mode | 填充或适应模式 | 默认值:填充(FILL)。
FILL:填充;FIT:适应 |
### 设置远端图像的渲染模式
| setRemoteViewFillMode | | |
| --------------------- | ---------- | ------------------------------------------------- |
| String userId | 用户ID | |
| int mode | 填充或适应 | 默认值:填充(FILL)。
FILL:填充;FIT:适应 |
### 设置视频编码器相关参数
| setVideoEncoderParam | | |
| ----------------------- | ------------------ | ------------ |
| int videoResolution | 视频分辨率 | |
| int videoResolutionMode | 分辨率模式 | Portrait |
| int videoFps | 视频采集帧率 | 15fps或20fps |
| int videoBitrate | 视频上行码率 | |
| bool enableAdjustRes | 是否允许调整分辨率 | true |
### 设置网络流控相关参数
| setNetworkQosParam | | |
| ------------------ | ----------------------------------- | ---- |
| int preference | 弱网下选择“保清晰”或“保流畅” | |
| int controlMode | 视频分辨率(云端控制 - 客户端控制) | |
### 设置本地摄像头预览画面的镜像模式
| setLocalViewMirror | | |
| ------------------ | -------- | ----------------------------- |
| int mirrorType | 镜像模式 | AUTO
ENABLE
DISABLE |
### 设置编码器输出的画面镜像模式
| setVideoEncoderMirror | | |
| --------------------- | -------- | ---------------------------------------- |
| bool mirror | 是否镜像 | true:镜像;false:不镜像;默认值:false |
## 音频部分
### 开启本地音频的采集和上行
| startLocalAudio | | |
| --------------- | ---- | ---- |
| | | |
### 关闭本地音频的采集和上行
| stopLocalAudio | | |
| -------------- | ---- | ---- |
| | | |
### 静音本地的音频
| muteLocalAudio | | |
| -------------- | -------- | ------------- |
| bool mute | 静音状态 | 默认值:false |
### 设置音频路由
| setAudioRoute | | |
| ------------- | -------- | --------------------------------------------------- |
| int route | 音频路由 | 默认值:扬声器
SPEAKER:扬声器;EARPIECE:听筒 |
### 静音某一个用户的声音,同时不再拉取该远端用户的音频数据流
| muteRemoteAudio | | |
| --------------- | ------------- | ------------------------- |
| String userId | 对方的用户 ID | |
| bool mute | 静音状态 | true:静音;false:非静音 |
### 静音所有用户的声音,同时不再拉取远端用户的音频数据流
| muteAllRemoteAudio | | |
| ------------------ | -------- | ------------------------- |
| bool mute | 静音状态 | true:静音;false:非静音 |
### 开始录音
| startAudioRecording | | |
| ------------------- | ------------ | ---- |
| String path | 文件完整路径 | |
### 结束录音
| stopAudioRecording | | |
| ------------------ | ---- | ---- |
| | | |
## 摄像头相关
### 切换摄像头
| switchCamera | | |
| ------------ | ---- | ---- |
| | | |
## 辅流相关
### 开始显示远端用户的屏幕分享画面
| startRemoteSubStreamView | | |
| ------------------------ | -------------- | ---- |
| String userId | 对方的用户标识 | |
| int viewId | 视图ID | |
###停止显示远端用户的屏幕分享画面
| stopRemoteSubStreamView | | |
| ----------------------- | -------------- | ---- |
| String userId | 对方的用户标识 | |
### 设置屏幕分享画面的显示模式
| setRemoteSubStreamViewFillMode | | |
| ------------------------------ | ------------ | ------------------------------------------------- |
| String userId | 对方的用户ID | |
| int mode | 填充或适应 | 默认值:填充(FILL)。
FILL:填充;FIT:适应 |
###设置屏幕分享画面的顺时针旋转角度
| setRemoteSubStreamViewRotation | | |
| ------------------------------ | -------------- | -------------- |
| String userId | 对方的用户ID | |
| int rotation | 顺时针旋转角度 | 默认值:不旋转 |
###
## 监听回调相关
### 注册回调
| registerCallback | | |
| ------------------------------------------------------------ | ---------------------------------------------- | ------------------------------------------------------------ |
| Function(int errCode, String errMsg) onError | 错误回调 | SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示。 |
| Function(int warningCode, String warningMsg) onWarning | 警告回调 | 用于告知您一些非严重性问题,例如出现卡顿或者可恢复的解码失败。 |
| Function(int result) onEnterRoom | 已加入房间的回调 | result > 0 时为进房耗时(ms),result < 0 时为进房错误码。 |
| Function(int reason) onExitRoom | 离开房间的事件回调 | 离开房间原因,0:主动调用 exitRoom 退房;1:被服务器踢出当前房间;2:当前房间整个被解散。 |
| Function(String userId) onRemoteUserEnterRoom | 有用户加入当前房间 | 任何用户进入房间都会触发该通知
userId:用户标识 |
| Function(String userId, int reason) onRemoteUserLeaveRoom | 有用户离开当前房间 | 任何用户的离开都会触发该通知
userId:用户标识
reason:离开原因,0表示用户主动退出房间,1表示用户超时退出,2表示被踢出房间。 |
| Function(String userId, bool available) onUserVideoAvailable | 用户是否开启摄像头视频 | userId:用户标识
available:画面是否开启 |
| Function(String userId, bool available) onUserAudioAvailable | 用户是否开启音频上行 | userId:用户标识
available:声音是否开启 |
| Function(String userId, bool available) onUserSubStreamAvailable | 用户是否开启屏幕分享 | userId:用户标识
available:屏幕分享是否开启 |
| Function(String userId, int streamType, int width, int height) onFirstVideoFrame | 开始渲染本地或远程用户的首帧画面 | [userId] 本地或远程用户 ID,如果 userId == null 代表本地,userId != null 代表远程
[streamType] 视频流类型:摄像头或屏幕分享
[width] 画面宽度
[height] 画面高度 |
| Function(String userId) onFirstAudioFrame | 开始播放远程用户的首帧音频(本地声音暂不通知) | [userId] 远程用户 ID |
| Function() onConnectionLost | SDK 跟服务器的连接断开 | |
| Function() onTryToReconnect | SDK 尝试重新连接到服务器 | |
| Function() onConnectionRecovery | SDK 跟服务器的连接恢复 | |
### 取消注册回调
| unregisterCallback | | |
| ------------------ | ---- | ---- |
| | | |