TRTCMeeting API(Flutter)

TRTCMeetingは、Tencent CloudのTRTCおよびIMサービスを基に組み合わせたコンポーネントで、以下の機能をサポートしています。
キャスターがミーティングルームを作成し、参加者はルームナンバーを入力した後にミーティングに参加します。
参加者の間で画面共有を行います。
各種のテキストメッセージとカスタムメッセージの送信をサポートします。
説明:
TUIKitシリーズコンポーネントはTencent CloudのTRTCIMという2つの基本的なPaaSサービスを同時に使用し、TRTCをアクティブにした後、IMサービスを同期的にアクティブにすることができます。IMサービスの課金ルールの詳細については、Instant Messagingの料金説明をご参照ください。TRTCをアクティブにすると、デフォルトでは、100DAUまでサポートするIM SDK体験版もアクティブになります。
TRTCMeetingは、1つのオープンソースのClassであり、Tencent Cloudの2つのクローズドソースのSDKに依存しています。具体的な実現プロセスは、多人数オーディオビデオルーム(Flutter)をご参照ください。
TRTC SDK: TRTC SDK を低遅延のビデオミーティングのコンポーネントとして使用します。
IM SDK:IM SDKのMeetingRoomを利用して、ミーティング中のチャットルームの機能を実現します。

TRTCMeeting API概要

SDK基本インターフェース

API
説明
シングルトンオブジェクトを取得します。
シングルトンオブジェクトを破棄します。
イベント監視を設定します。
イベント監視を破棄します。
ログイン。
ログアウト。
個人情報を修正します。

ミーティングルームに関するインターフェース

API
説明
ルームの作成(キャスターが呼び出し)。
ルームの破棄(キャスターが呼び出し)。
入室(参加者が呼び出し)。
退室(参加者が呼び出し)。
ルーム内の全メンバーのリストを取得します。enterMeeting()成功後に呼び出しが有効となります。
ルーム内の指定メンバーの詳細情報を取得します。enterMeeting()成功後に呼び出しが有効となります。

リモートユーザーに関するインターフェース

API
説明
指定メンバーのリモートビデオ画面を再生します。
指定メンバーのリモートビデオ画面の再生を停止します。
指定メンバーのリモート画像のレンダリングパラメータを設定します。
指定メンバーのリモート音声をミュート/ミュート取り消しにします。
全メンバーのリモート音声をミュート/ミュート取り消しにします。
指定メンバーのリモートビデオを一時停止/再開します。
全メンバーのリモートビデオストリームを一時停止/再開します。

ローカルのビデオ操作インターフェース

API
説明
ローカルビデオのプレビュー画面を立ち上げます。
ローカルのビデオキャプチャおよびプレビューを停止します。
フロント/リアカメラを切り替えます。
ビデオエンコーダ関連パラメータを設定します。
ローカル画面のミラーモードのプレビューを設定します。

ローカルのオーディオ操作インターフェース

API
説明
マイクの集音開始。
マイクの集音停止。
ローカル音声のミュート起動/停止。
スピーカーまたはヘッドホン起動の設定。
マイクの集音音量設定。
再生音量の設定。
録音の開始。
録音の停止。
音声レベルリマインダを有効にします。

スクリーンキャプチャのインターフェース

API
説明
画面共有を開始。
画面キャプチャの停止。
スクリーンキャプチャの一時停止。
スクリーンキャプチャの再開。

管理オブジェクト取得に関するインターフェース

API
説明
デバイス管理オブジェクトTXDeviceManagerを取得します。
美顔管理オブジェクトTXBeautyManagerを取得します。

メッセージ送信関連インターフェース

API
説明
ミーティング中にテキストメッセージをブロードキャストします。通常、チャットに使用します。
カスタマイズしたテキストメッセージを送信します。

TRTCLiveRoomDelegate API概要

一般的なイベントコールバック

API
説明
エラーのコールバック。
警告のコールバック。
他のユーザーが同じアカウントでログインすると、キックアウトされてオフラインになります。

ミーティングルームのイベントコールバック

API
説明
ミーティングルームが破棄された時のコールバック。
ネットワーク状態のコールバック。
ユーザー通話音量のコールバック。

参加者入退室のイベントコールバック

API
説明
ローカルの入室のコールバック。
ローカルの退室のコールバック。
新しい参加者の入室のコールバック。
参加者の退出のコールバック。

参加者の音声・ビデオのイベントコールバック

API
説明
参加者がマイクを起動/停止したときのコールバック。
参加者がカメラを起動/停止したときのコールバック。
参加者がサブチャンネル画面を起動/停止したときのコールバック。

メッセージイベントのコールバック

API
説明
テキストメッセージ受信のコールバック。
カスタムメッセージ受信のコールバック。

スクリーンキャプチャのイベントコールバック

API
説明
スクリーンキャプチャ開始のコールバック。
スクリーンキャプチャ一時停止のコールバック。
スクリーンキャプチャ再開のコールバック。
スクリーンキャプチャ停止のコールバック。

SDK基本インターフェース

sharedInstance

TRTCMeetingシングルトンオブジェクトを取得します。
static Future<TRTCMeeting> sharedInstance();

destroySharedInstance

TRTCMeetingシングルトンオブジェクトを破棄します。
static void destroySharedInstance();
説明:
インスタンスを破棄すると、外部キャッシュのTRTCMeetingインスタンスは再利用できなくなります。あらためてsharedInstanceを呼び出し、新しいインスタンスを取得してください。

registerListener

イベント監視を設定します。TRTCMeetingDelegateを介して、TRTCMeetingの各種ステータスの通知を取得できます。
void registerListener(MeetingListenerFunc func);
説明:
funcはTRTCMeetingのプロキシコールバックです。

unRegisterListener

イベント監視を破棄します。
void unRegisterListener(MeetingListenerFunc func);

login

ログイン。
Future<ActionCallback> login(int sdkAppId, String userId, String userSig);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
sdkAppId
int
TRTCコンソール >【アプリケーション管理】> アプリケーション情報の中でSDKAppIDを確認できます。
userId
String
現在のユーザーのID。文字列タイプ。アルファベット(a-z および A-Z)、数字(0-9)、ハイフン(-)、アンダーバー(_)のみ使用できます。
userSig
String
Tencent Cloudによって設計されたセキュリティ保護署名。取得方法については、 UserSigの計算、使用方法をご参照ください。

logout

ログアウト。
Future<ActionCallback> logout();

setSelfProfile

個人情報の修正。
Future<ActionCallback> setSelfProfile(String userName, String avatarURL);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userName
String
ユーザーニックネーム。
avatarURL
String
ユーザープロフィール画像のアドレス。

ミーティングルーム関連インターフェース

createMeeting

ミーティングの作成(キャスターの呼び出し)。
Future<ActionCallback> createMeeting(int roomId);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
roomId
int
ミーティングルームID。ご自身でアサインし、一括管理してください。
キャスターの通常の呼び出しフローは以下のとおりです:
1. 【キャスター】createMeeting()を呼び出し、roomIdを渡してミーティングを作成します。ミーティングルーム作成の成功の有無がActionCallbackによってキャスターに通知されます。
2. 【キャスター】startCameraPreview()を呼び出し、カメラのプレビューを起動します。この時美顔パラメータを調整できます。
3. 【キャスター】startMicrophone()を呼び出し、マイクキャプチャを起動します。

destroyMeeting

ミーティングルームを破棄します(キャスターが呼び出し)。キャスターは、ミーティング作成後、この関数を呼び出してミーティングを破棄できます。
Future<ActionCallback> destroyMeeting(int roomId);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
roomId
int
ミーティングルームID。ご自身でアサインし、一括管理してください。

enterMeeting

ミーティングルームに参加します(参加者が呼び出し)。
Future<ActionCallback> enterMeeting(int roomId);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
roomId
int
ミーティングルームID。
参加者がミーティングに参加する通常の呼び出しフローは以下のとおりです:
1. 【参加者】enterMeeting()を呼び出し、roomIdを渡せばミーティングルームに入れます。
2. 【参加者】startCameraPreview()を呼び出して、カメラのプレビューを起動し、startMicrophone()を呼び出し、マイクキャプチャを起動します。
3. 【参加者】onUserVideoAvailableのイベントを受信します。startRemoteView()を呼び出し、メンバーのuserIdを渡して再生を開始します

leaveMeeting

ミーティングルームから退出します(参加者が呼び出し)。
Future<ActionCallback> leaveMeeting();

getUserInfoList

ルーム内の全メンバーのリストを取得します。enterMeeting()成功後に呼び出しが有効となります。
Future<UserListCallback> getUserInfoList(List<String> userIdList);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userIdList
List<String>
取得する必要があるuserId リスト。

getUserInfo

ルーム内の指定メンバーの詳細情報を取得します。enterMeeting()成功後に呼び出しが有効となります。
Future<UserListCallback> getUserInfo(String userId);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
指定メンバーのID。

リモートユーザーに関するインターフェース

startRemoteView

指定メンバーのリモートビデオ画面を再生します。
Future<void> startRemoteView(String userId, int streamType, int viewId);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
指定メンバーのID。
streamType
int
視聴したいビデオストリームのタイプ。詳細については、TRTC SDKをご参照ください。
viewId
int
TRTCCloudVideoViewが発行するviewId。

stopRemoteView

指定メンバーのリモートビデオ画面の再生を停止します。
Future<void> stopRemoteView(String userId, int streamType);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
指定メンバーのID。
streamType
int
視聴したいビデオストリームのタイプ。詳細については、TRTC SDKをご参照ください。

setRemoteViewParam

指定メンバーのリモート画像のレンダリングパラメータを設定します。
Future<void> setRemoteViewParam(String userId, int streamType,
{int fillMode, int rotation, int mirrorType});
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
指定メンバーのID。
streamType
int
視聴したいビデオストリームのタイプ。詳細については、TRTC SDKをご参照ください。
fillMode
int
画像レンダリングモード。FILL(デフォルト)またはFITモード。詳細については、TRTC SDKをご参照ください。
rotation
int
画像の時計回りの回転角度。詳細については、TRTC SDKをご参照ください。
mirrorType
int
イメージモード。詳細については、 TRTC SDKをご参照ください。

muteRemoteAudio

指定メンバーのリモート音声をミュート/ミュート取り消します。
Future<void> muteRemoteAudio(String userId, bool mute);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
指定メンバーのID。
mute
boolean
true:ミュート、false:ミュート停止。

muteAllRemoteAudio

全メンバーのリモート音声をミュート/ミュート取り消します。
Future<void> muteAllRemoteAudio(bool mute);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
mute
boolean
true:ミュート、false:ミュート停止。

muteRemoteVideoStream

指定メンバーのリモートビデオを一時停止/再開します。
Future<void> muteRemoteVideoStream(String userId, bool mute);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
指定メンバーのID。
mute
boolean
true:一時停止、false:再開。

muteAllRemoteVideoStream

全メンバーのリモートビデオストリームを一時停止/再開します。
Future<void> muteAllRemoteVideoStream(bool mute);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
mute
boolean
true:一時停止、false:再開。

ローカルのビデオ操作インターフェース

startCameraPreview

ローカルビデオのプレビュー画面を立ち上げます。
Future<void> startCameraPreview(bool isFront, int viewId);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
isFront
boolean
true:フロントカメラ、false:リアカメラ。
viewId
int
TRTCCloudVideoViewが発行するviewId。

stopCameraPreview

ローカルのビデオキャプチャおよびプレビューを停止します。
Future<void> stopCameraPreview();

switchCamera

フロント/リアカメラを切り替えます。
Future<void> switchCamera(bool isFront);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
isFront
boolean
true:フロントカメラ、false:リアカメラ。

setVideoEncoderParam

ビデオエンコーダ関連パラメータを設定します。
Future<void> setVideoEncoderParam({
int videoFps,
int videoBitrate,
int videoResolution,
int videoResolutionMode,
});
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
videoFps
int
ビデオキャプチャのフレームレート。
videoBitrate
int
ビットレート。SDKは目標ビットレートに応じてエンコードを行い、ネットワークの状態が良くない場合のみ、ビデオビットレートを動的に引き下げます。
videoResolution
int
ビデオ解像度。
videoResolutionMode
int
解像度モード。
説明:
詳細については、TRTC SDKをご参照ください。

setLocalViewMirror

ローカル画面のミラーモードのプレビューを設定します。
Future<void> setLocalViewMirror(bool isMirror);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
isMirror
boolean
イメージプレビューモードの起動の有無。true:オン、false:オフ。

ローカル音声操作のインターフェース

startMicrophone

マイクの集音開始。
Future<void> startMicrophone({int quality});
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
quality
int
オーディオ品質。詳細については、 TRTC SDKをご参照ください。

stopMicrophone

マイクの集音停止。
Future<void> stopMicrophone();

muteLocalAudio

ローカル音声のミュート起動/停止。
Future<void> muteLocalAudio(bool mute);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
mute
boolean
true:ミュート、false:ミュート取り消し。

setSpeaker

スピーカーまたはヘッドホンの起動設定。
Future<void> setSpeaker(bool useSpeaker);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
useSpeaker
boolean
true:スピーカー、false:ヘッドホン。

setAudioCaptureVolume

マイクの集音音量設定。
Future<void> setAudioCaptureVolume(int volume);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
volume
int
集音音量、値:0 - 100、デフォルト値:100。

setAudioPlayoutVolume

再生音量の設定。
Future<void> setAudioPlayoutVolume(int volume);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
volume
int
再生音量、値:0 - 100、デフォルト値:100。

startAudioRecording

録音の開始。
Future<int?> startAudioRecording(String filePath);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
filePath
String
録音ファイルの保存パス。このパスはユーザーが自身で指定する必要があります。パスが存在し、記述できることを確認してください。このパスはファイル名およびフォーマットの拡張子まで正確に示す必要があります。フォーマットの拡張子によって録音ファイルの形式が決まります。現在サポートしている形式はPCM、WAV、AACです。

stopAudioRecording

録音の停止。
Future<void> stopAudioRecording();

enableAudioVolumeEvaluation

音量レベルリマインダを有効にします。
Future<void> enableAudioVolumeEvaluation(int intervalMs);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
intervalMs
int
onUserVoiceVolume コールバックをトリガーするインターバルを決定します。単位はms。最小インターバルは100ms。0以下の場合、コールバックは停止します。設定を300msにすることを推奨します。

スクリーンキャプチャのインターフェース

startScreenCapture

画面共有を開始。
Future<void> startScreenCapture({
int videoFps,
int videoBitrate,
int videoResolution,
int videoResolutionMode,
String appGroup,
});
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
videoFps
int
ビデオキャプチャのフレームレート。
videoBitrate
int
ビットレート。SDKは目標ビットレートに応じてエンコードを行い、ネットワークの状態が良くない場合のみ、ビデオビットレートを動的に引き下げます。
videoResolution
int
ビデオ解像度。
videoResolutionMode
int
解像度モード。
appGroup
String
このパラメータはiOS端末でのみ有効となり、Android端末の場合、このパラメータを気にする必要はありません。このパラメータはメインAppとBroadcastが共有するApplication Group Identifierです。
説明:
詳細については、TRTC SDKをご参照ください。

stopScreenCapture

画面キャプチャの停止。
Future<void> stopScreenCapture();

pauseScreenCapture

スクリーンキャプチャの一時停止。
Future<void> pauseScreenCapture();

resumeScreenCapture

スクリーンキャプチャの再開。
Future<void> resumeScreenCapture();

管理オブジェクト取得に関するインターフェース

getDeviceManager

デバイス管理オブジェクト TXDeviceManagerを取得します。
getDeviceManager();

getBeautyManager

美顔管理オブジェクトTXBeautyManagerを取得します。 |
getBeautyManager();
美顔管理では、次の機能を使用できます。
「美顔のスタイル」、「美白」、「肌色補正(血色・つや感)」、「デカ眼」、「顔痩せ」、「V顔」、「下あご」、「面長補正」、「小鼻」、「キラキラ目」、「白い歯」、「目の弛み除去」、「シワ除去」、「ほうれい線除去」などの美容効果を設定します。
「髪の生え際」、「眼と眼の距離」、「眼角度」、「唇の形」、「鼻翼」、「鼻の位置」、「唇の厚さ」、「顔の形」を調整します。
人の顔のスタンプ(素材)等のダイナミック効果を設定します。
メイクアップを追加します。
ジェスチャー認識を行います。

メッセージ送信関連インターフェース

sendRoomTextMsg

ミーティング中にテキストメッセージをブロードキャストします。通常、チャットに使用します。
Future<ActionCallback> sendRoomTextMsg(String message);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
message
String
テキストメッセージ。

sendRoomCustomMsg

カスタマイズしたテキストメッセージを送信します。
Future<ActionCallback> sendRoomCustomMsg(String cmd, String message);
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
cmd
String
コマンドワードです。開発者がカスタマイズするものであり、主にさまざまなメッセージタイプを区別するために使用されます。
message
String
テキストメッセージ。

TRTCMeetingDelegateイベントコールバック

一般的なイベントコールバック

onError

エラーのコールバック。
説明:
SDKリカバリー不能なエラーは必ず監視し、状況に応じてユーザーに適切なインターフェースプロンプトを表示します。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
errCode
int
エラーコード。
errMsg
String
エラー情報。
extraInfo
String
拡張情報フィールド。個別のエラーコードにより問題の特定に役立つ追加情報をもたせることが可能です。

onWarning

警告のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
warningCode
int
エラーコード。
warningMsg
String
警告情報。
extraInfo
String
拡張情報フィールド。個別のエラーコードにより問題の特定に役立つ追加情報をもたせることが可能です。

onKickedOffline

他のユーザーが同じアカウントでログインすると、キックアウトされてオフラインになります。

ミーティングルームのイベントコールバック

onRoomDestroy

ミーティングルームが破棄された時のコールバック。キャスターの退室時、ルーム内の全ユーザーがこの通知を受信します。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
roomId
String
ミーティングルームID。

onNetworkQuality

ネットワーク状態のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
localQuality
TRTCCloudDef.TRTCQuality
アップストリームのネットワーク品質。
remoteQuality
List<TRTCCloudDef.TRTCQuality>
ダウンストリームのネットワーク品質。

onUserVolumeUpdate

ユーザーの通話音量のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userVolumes
List
発言中のすべてのルーム参加者の音量。値の範囲:0~100。
totalVolume
int
すべてのリモート参加者の総音量。値の範囲:0~100。

参加者入退室のイベントコールバック

onEnterRoom

ローカルの入室のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
result
int
0を上回るときは入室の所要時間(ms)、0未満のときは入室のエラーコードです。

onLeaveRoom

ローカルの退室のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
reason
int
ミーティング退出の原因。0:自主的にleaveMeetingを呼び出して退出。1:サーバーによる現在のミーティングからのキックアウト。2:現在のミーティング全体の解散。

onUserEnterRoom

新しい参加者の入室のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
新しい参加者のユーザーID。

onUserLeaveRoom

参加者の退出のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
退出した参加者のユーザーID。

参加者の音声・ビデオのイベントコールバック

onUserAudioAvailable

参加者のマイク起動/停止のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
ユーザーID。
available
boolean
true:ユーザーがマイクをオンにします。false:ユーザーがマイクをオフにします。

onUserVideoAvailable

参加者によるカメラ起動/停止のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
ユーザーID。
available
boolean
true:ユーザーがカメラをオンにします。false:ユーザーがカメラをオフにします。

onUserSubStreamAvailable

参加者がサブチャンネル画面を起動/停止したときのコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
userId
String
ユーザーID。
available
boolean
true:ユーザーがサブチャンネル画面を起動。false:ユーザーがサブチャンネル画面を停止。

メッセージイベントのコールバック

onRecvRoomTextMsg

テキストメッセージ受信のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
message
String
テキストメッセージ。
sendId
String
送信者のユーザーID。
userAvatar
String
送信者のユーザープロフィール画像。
userName
String
送信者のユーザーニックネーム。

onRecvRoomCustomMsg

カスタムメッセージ受信のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
command
String
コマンドワードです。開発者がカスタマイズするものであり、主にさまざまなメッセージタイプを区別するために使用されます。
message
String
テキストメッセージ。
sendId
String
送信者のユーザーID。
userAvatar
String
送信者のユーザープロフィール画像。
userName
String
送信者のユーザーニックネーム。

スクリーンキャプチャのイベントコールバック

onScreenCaptureStarted

スクリーンキャプチャ開始のコールバック。

onScreenCapturePaused

スクリーンキャプチャ一時停止のコールバック。

onScreenCaptureResumed

スクリーンキャプチャ再生のコールバック。

onScreenCaptureStoped

スクリーンキャプチャ停止のコールバック。
パラメータは下表に示すとおりです:
パラメータ
タイプ
意味
reason
int
停止の理由。
0:ユーザーの自発的な停止。
1:スクリーンウィンドウが閉じられたことによるによる停止。