#TRTCCalling API(Flutter) TRTCCalling 是基于腾讯云实时音视频(TRTC)和即时通信 IM 服务组合而成的,支持1v1音视频通话。TRTCCalling 是一个开源的 Class,依赖腾讯云的两个闭源 SDK,具体的实现过程请参见 实时视频通话(Flutter)。
API | 描述 |
---|---|
sharedInstance | 组件单例。 |
destroySharedInstance | 销毁组件单例。 |
registerListener | 增加事件回调。 |
unRegisterListener | 移除回调接口。 |
destroy | 销毁函数,如果无需再运行该实例,请调用该接口。 |
login | 登录组件接口,所有功能需要先进行登录后才能使用。 |
logout | 登出组件接口,登出后无法再进行拨打操作。 |
API | 描述 |
---|---|
call | 单人通话邀请。 |
accept | 接受当前通话。 |
reject | 拒绝当前通话。 |
hangup | 结束当前通话。 |
API | 描述 |
---|---|
startRemoteView | 远端用户的摄像头数据渲染到指定的 TXCloudVideoView 中。 |
stopRemoteView | 停止渲染远端数据。 |
API | 描述 |
---|---|
openCamera | 开启摄像头,并渲染在指定的 TXCloudVideoView 中。 |
switchCamera | 切换前后摄像头。 |
closeCamara | 关闭摄像头。 |
setMicMute | 静音本地音频采集。 |
setHandsFree | 设置免提。 |
API | 描述 |
---|---|
onError | 错误回调。 |
API | 描述 |
---|---|
onReject | 拒绝通话回调。 |
onNoResp | 对方无回应回调。 |
onLineBusy | 通话忙线回调。 |
API | 描述 |
---|---|
onInvited | 被邀请通话回调。 |
onCallingCancel | 当前通话被取消回调。 |
onCallingTimeOut | 当前通话超时回调。 |
API | 描述 |
---|
| | onUserEnter | 用户进入通话回调。 | | onUserLeave | 用户离开通话回调。 | | onUserAudioAvailable | 用户是否开启音频上行回调。 | | onUserVideoAvailable | 用户是否开启视频上行回调。 | | onUserVoiceVolume | 用户通话音量回调。 | | onCallEnd | 通话结束回调。 |
sharedInstance 是 TRTCCalling 的组件单例。
static Future<TRTCCalling> sharedInstance();
销毁组件单例。
static void destroySharedInstance();
销毁函数,如果无需再运行该实例,请调用该接口。
void destroy();
TRTCCalling 事件回调,您可以通过 TRTCCallingDelegate 获得 TRTCCalling 的各种状态通知。
void registerListener(VoiceListenerFunc func);
移除回调接口。
void unRegisterListener(VoiceListenerFunc func);
登录组件。
Future<ActionCallback> login(int sdkAppId, String userId, String userSig);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
sdkAppID | UInt32 | 您可以在实时音视频控制台 >【应用管理】> 应用信息中查看 SDKAppID。 |
userId | String | 当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_)。 |
userSig | String | 腾讯云设计的一种安全保护签名,获取方式请参考 如何计算 UserSig。 |
登出组件。
Future<ActionCallback> logout();
单人通话邀请,当前处于通话中也可继续调用邀请他人。
Future<ActionCallback> call(String userId, int type);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 呼叫用户 ID。 |
type | int | 1 表示语音通话,2 表示视频通话。 |
接受当前通话。当您作为被邀请方收到 onInvited()
的回调时,可以调用该函数接听来电。
Future<ActionCallback> accept();
拒绝当前通话。当您作为被邀请方收到 onInvited()
的回调时,可以调用该函数拒绝来电。
Future<ActionCallback> reject();
挂断当前通话。当您处于通话中,可以调用该函数结束通话。
void hangup();
远端用户的摄像头数据渲染到指定的TRTCCloudVideoView 中。
void startRemoteView(String userId, int streamType, int viewId);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 远端用户 ID。 |
view | int | 承载视频画面的控件TRTCCloudVideoView回调的viewId。 |
停止渲染远端数据。
void stopRemoteView(String userId, int streamType);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 远端用户 ID。 |
streamType | int | 指定要停止观看的 userId 的视频流类型。 |
开启摄像头,并渲染在指定的 TRTCCloudVideoView 中。
void openCamera(bool isFrontCamera, int viewId);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
isFrontCamera | bool | true 表示开启前置摄像头,false 表示开启后置摄像头。 |
viewId | int | 承载视频画面的控件TRTCCloudVideoView回调的viewId。 |
切换前后摄像头。
void switchCamera(bool isFrontCamera);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
isFrontCamera | bool | true 表示切换到前置摄像头,false 表示切换到后置摄像头。 |
关闭摄像头。
void closeCamera();
静音本地音频采集。
void setMicMute(bool isMute);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
isMute | bool | true 表示麦克风关闭,false 表示麦克风打开。 |
静音远端音频。
void setHandsFree(bool isHandsFree);
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
isHandsFree | bool | true 表示开启免提,false 表示关闭免提。 |
错误回调。
?SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示。
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
code | int | 错误码。 |
msg | String | 错误信息。 |
拒绝通话回调。
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 拒绝用户的 ID。 |
对方无回应回调。
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 无回应用户的 ID。 |
通话忙线回调。
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 忙线用户的 ID。 |
被邀请通话回调。
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
sponsor | String | 发起方的 ID。 |
userIds | List<String> | 除自己外被邀请 ID 列表。 |
isFromGroup | bool | 是否多人通话邀请。 |
type | int | 1 表示语音通话,2 表示视频通话。 |
当前通话被取消回调。接收方未处理请求,邀请方取消后会收到此回调。
当前通话超时回调。
用户进入通话回调。
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 进入通话用户 ID。 |
用户离开通话回调。
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 离开通话用户 ID。 |
用户是否开启音频上行回调。
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 通话用户 ID。 |
available | boolean | 用户音频是否可用。 |
用户是否开启视频上行回调。收到通知后,用户可调用 startRemoteView
渲染远端视频。
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userId | String | 通话用户 ID。 |
available | boolean | 用户视频是否可用。 |
用户通话音量回调。
参数如下表所示:
参数 | 类型 | 含义 |
---|---|---|
userVolumes | List | 所有正在说话的房间成员的音量,取值范围0 - 100。 |
totalVolume | int | 所有远端成员的总音量, 取值范围0 - 100。 |
通话结束回调。