Skip to content

Latest commit

 

History

History
427 lines (273 loc) · 13.1 KB

TRTCCallingVideoAPI.md

File metadata and controls

427 lines (273 loc) · 13.1 KB

#TRTCCalling API(Flutter) TRTCCalling 是基于腾讯云实时音视频(TRTC)和即时通信 IM 服务组合而成的,支持1v1音视频通话。TRTCCalling 是一个开源的 Class,依赖腾讯云的两个闭源 SDK,具体的实现过程请参见 实时视频通话(Flutter)

  • TRTC SDK:使用 TRTC SDK 作为低延时音视频通话组件。
  • IM SDK:使用 IM SDK 发送和处理信令消息。

TRTCCalling API 概览

SDK 基础函数

API 描述
sharedInstance 组件单例。
destroySharedInstance 销毁组件单例。
registerListener 增加事件回调。
unRegisterListener 移除回调接口。
destroy 销毁函数,如果无需再运行该实例,请调用该接口。
login 登录组件接口,所有功能需要先进行登录后才能使用。
logout 登出组件接口,登出后无法再进行拨打操作。

通话操作相关接口函数

API 描述
call 单人通话邀请。
accept 接受当前通话。
reject 拒绝当前通话。
hangup 结束当前通话。

推拉流相关接口函数

API 描述
startRemoteView 远端用户的摄像头数据渲染到指定的 TXCloudVideoView 中。
stopRemoteView 停止渲染远端数据。

音视频控制相关接口函数

API 描述
openCamera 开启摄像头,并渲染在指定的 TXCloudVideoView 中。
switchCamera 切换前后摄像头。
closeCamara 关闭摄像头。
setMicMute 静音本地音频采集。
setHandsFree 设置免提。

TRTCCallingDelegate API 概览

通用事件回调

API 描述
onError 错误回调。

邀请方回调

API 描述
onReject 拒绝通话回调。
onNoResp 对方无回应回调。
onLineBusy 通话忙线回调。

被邀请方回调

API 描述
onInvited 被邀请通话回调。
onCallingCancel 当前通话被取消回调。
onCallingTimeOut 当前通话超时回调。

通用回调

API 描述

| | onUserEnter | 用户进入通话回调。 | | onUserLeave | 用户离开通话回调。 | | onUserAudioAvailable | 用户是否开启音频上行回调。 | | onUserVideoAvailable | 用户是否开启视频上行回调。 | | onUserVoiceVolume | 用户通话音量回调。 | | onCallEnd | 通话结束回调。 |

SDK 基础函数

sharedInstance

sharedInstance 是 TRTCCalling 的组件单例。

static Future<TRTCCalling> sharedInstance();

destroySharedInstance

销毁组件单例。

static void destroySharedInstance();

destroy

销毁函数,如果无需再运行该实例,请调用该接口。

void destroy();

registerListener

TRTCCalling 事件回调,您可以通过 TRTCCallingDelegate 获得 TRTCCalling 的各种状态通知。

void registerListener(VoiceListenerFunc func);

unRegisterListener

移除回调接口。

void unRegisterListener(VoiceListenerFunc func);

login

登录组件。

Future<ActionCallback> login(int sdkAppId, String userId, String userSig);

参数如下表所示:

参数 类型 含义
sdkAppID UInt32 您可以在实时音视频控制台 >【应用管理】> 应用信息中查看 SDKAppID。
userId String 当前用户的 ID,字符串类型,只允许包含英文字母(a-z 和 A-Z)、数字(0-9)、连词符(-)和下划线(_)。
userSig String 腾讯云设计的一种安全保护签名,获取方式请参考 如何计算 UserSig

logout

登出组件。

Future<ActionCallback> logout();

通话操作相关接口函数

call

单人通话邀请,当前处于通话中也可继续调用邀请他人。

Future<ActionCallback> call(String userId, int type);

参数如下表所示:

参数 类型 含义
userId String 呼叫用户 ID。
type int 1 表示语音通话,2 表示视频通话。

accept

接受当前通话。当您作为被邀请方收到 onInvited() 的回调时,可以调用该函数接听来电。

Future<ActionCallback> accept();

reject

拒绝当前通话。当您作为被邀请方收到 onInvited() 的回调时,可以调用该函数拒绝来电。

Future<ActionCallback> reject();

hangup

挂断当前通话。当您处于通话中,可以调用该函数结束通话。

void hangup();

推拉流相关接口函数

startRemoteView

远端用户的摄像头数据渲染到指定的TRTCCloudVideoView 中。

void startRemoteView(String userId, int streamType, int viewId);

参数如下表所示:

参数 类型 含义
userId String 远端用户 ID。
view int 承载视频画面的控件TRTCCloudVideoView回调的viewId。

stopRemoteView

停止渲染远端数据。

void stopRemoteView(String userId, int streamType);

参数如下表所示:

参数 类型 含义
userId String 远端用户 ID。
streamType int 指定要停止观看的 userId 的视频流类型。

音视频控制相关接口函数

openCamera

开启摄像头,并渲染在指定的 TRTCCloudVideoView 中。

void openCamera(bool isFrontCamera, int viewId);

参数如下表所示:

参数 类型 含义
isFrontCamera bool true 表示开启前置摄像头,false 表示开启后置摄像头。
viewId int 承载视频画面的控件TRTCCloudVideoView回调的viewId。

switchCamera

切换前后摄像头。

void switchCamera(bool isFrontCamera);

参数如下表所示:

参数 类型 含义
isFrontCamera bool true 表示切换到前置摄像头,false 表示切换到后置摄像头。

closeCamara

关闭摄像头。

void closeCamera();

setMicMute

静音本地音频采集。

void setMicMute(bool isMute);

参数如下表所示:

参数 类型 含义
isMute bool true 表示麦克风关闭,false 表示麦克风打开。

setHandsFree

静音远端音频。

void setHandsFree(bool isHandsFree);

参数如下表所示:

参数 类型 含义
isHandsFree bool true 表示开启免提,false 表示关闭免提。

TRTCCallingDelegate 事件回调

通用事件回调

onError

错误回调。

?SDK 不可恢复的错误,一定要监听,并分情况给用户适当的界面提示。

参数如下表所示:

参数 类型 含义
code int 错误码。
msg String 错误信息。

邀请方回调

onReject

拒绝通话回调。

参数如下表所示:

参数 类型 含义
userId String 拒绝用户的 ID。

onNoResp

对方无回应回调。

参数如下表所示:

参数 类型 含义
userId String 无回应用户的 ID。

onLineBusy

通话忙线回调。

参数如下表所示:

参数 类型 含义
userId String 忙线用户的 ID。

被邀请方回调

onInvited

被邀请通话回调。

参数如下表所示:

参数 类型 含义
sponsor String 发起方的 ID。
userIds List<String> 除自己外被邀请 ID 列表。
isFromGroup bool 是否多人通话邀请。
type int 1 表示语音通话,2 表示视频通话。

onCallingCancel

当前通话被取消回调。接收方未处理请求,邀请方取消后会收到此回调。

onCallingTimeOut

当前通话超时回调。

通用回调

onUserEnter

用户进入通话回调。

参数如下表所示:

参数 类型 含义
userId String 进入通话用户 ID。

onUserLeave

用户离开通话回调。

参数如下表所示:

参数 类型 含义
userId String 离开通话用户 ID。

onUserAudioAvailable

用户是否开启音频上行回调。

参数如下表所示:

参数 类型 含义
userId String 通话用户 ID。
available boolean 用户音频是否可用。

onUserVideoAvailable

用户是否开启视频上行回调。收到通知后,用户可调用 startRemoteView 渲染远端视频。

参数如下表所示:

参数 类型 含义
userId String 通话用户 ID。
available boolean 用户视频是否可用。

onUserVoiceVolume

用户通话音量回调。

参数如下表所示:

参数 类型 含义
userVolumes List 所有正在说话的房间成员的音量,取值范围0 - 100。
totalVolume int 所有远端成员的总音量, 取值范围0 - 100。

onCallEnd

通话结束回调。