音声通話機能をすばやく実装する必要がある場合、当社が提供するDemoをもとにアダプターを修正するか、または当社が提供するTRTCCalling コンポーネントでUIのカスタマイズを実装することができます。
TestAudioCall
などアプリケーション名を入力して、作成**をクリックします。注意:本機能はTencent CloudのTRTCとIMという2つの基本的なPaaSサービスを同時に使用し、TRTCをアクティブにした後、IMサービスを同期的にアクティブにすることができます。IMは付加価値サービスであり、課金ルールの詳細については、Instant Messagingの料金説明をご参照ください。
/example/lib/debug/GenerateTestUserSig.dart
ファイルを見つけて開きます。GenerateTestUserSig.dart
ファイル内の関連パラメータを設定します。注意:
- ここで言及したUserSigの新規作成ソリューションでは、クライアントコードでSECRETKEYを設定します。この手法のうちSECRETKEYは逆コンパイルによって逆向きにクラッキングされやすく、キーがいったん漏洩すると、攻撃者はTencent Cloudトラフィックを盗用できるようになります。そのためこの手法は、ローカルのDemoクイックスタートおよび機能デバッグにのみ適合します。
- UserSigの正しい発行方法は、UserSigの計算コードをサーバーに統合し、Appのインターフェース向けに提供します。UserSigが必要なときは、Appから業務サーバーにリクエストを発出し動的にUserSigを取得します。詳細はUserSigに関するご質問をご参照ください。
注意:Android端末は実際のマシンで実行する必要があり、エミュレーターのデバッグはサポートされていません。
flutter pub get
を実行します。flutter run
を実行します。ソースコードフォルダTRTCCallingDemo
には2つのサブフォルダuiとmodelが含まれ、そのうちuiフォルダにはインターフェースコードが含まれています。
ファイルまたはフォルダ | 機能の説明 |
---|---|
TRTCCallingVideo.dart | オーディオビデオ通話のメインインターフェースが表示され、このインターフェースで通話の応答と拒否が完了します。 |
TRTCCallingContact.dart | 連絡先を選択するためのインターフェースを表示するために使用され、このインターフェースを介して登録済みユーザーを検索し、通話を開始できます |
ソースコードフォルダTRTCCallingDemo
には2つのサブフォルダuiとmodelが含まれ、そのうちmodelフォルダには当社が実装した再利用可能なオープンソースコンポーネントTRTCCallingが含まれています。このコンポーネントが提供するインターフェース関数はTRTCCalling.dart
ファイルで確認できます。
オープンソースコンポーネントTRTCCallingを使用すれば、自分のUIを実装することができます。すなわちmodel パーツを再利用するだけで、自分でUIパーツを実装できます。
オーディオビデオ通話コンポーネントTRTCCallingは、TRTC SDKとIM SDKに依存しています。pubspec.yaml
を設定することで、更新を自動的にダウンロードできます。
プロジェクトのpubspec.yaml
に次の依存関係を記述します。
dependencies:
tencent_trtc_cloud: 最新バージョン番号
tencent_im_sdk_plugin: 最新バージョン番号
Info.plist
にカメラとマイクの権限申請を追加する必要があります。
<key>NSMicrophoneUsageDescription</key>
<string>通常の音声通話が行えるようにマイクの権限を承認します</string>
modelディレクトリ内の全ファイルをプロジェクトにコピーします。
/lib/TRTCCallingDemo/model
TRTCCalling.sharedInstance()
を呼び出して、コンポーネントインスタンスを取得します。login(SDKAppID, userId, userSig, callback)
を呼び出し、コンポーネントのログインを完了します。このうちいくつかの重要パラメータの入力については、下表をご参照ください。パラメータ名 | 作用 |
---|---|
SDKAppID | TRTCコンソール で SDKAppIDを表示できます。 |
userId | 現在のユーザーID。文字列タイプでは、英語のアルファベット(a-zとA-Z)、数字(0-9)、ハイフン(-)とアンダーライン(_)のみ使用できます。業務の実際のアカウントシステムと組み合わせてご自身で設定することをお勧めします。 |
userSig | Tencent Cloudによって設計されたセキュリティ保護署名。計算方法については、UserSigの計算、使用方法をご参照ください。 |
// 初期化
sCall = await TRTCCalling.sharedInstance();
sCall.login(1400000123, "userA", "xxxx");
TRTCCalling
のcall()
メソッドを呼び出して通話リクエストを開始し、ユーザーID(userid)と通話タイプ(type)を渡して、通話タイプパラメータをTRTCCalling.typeAudioCall
に渡します。onInvited()
という名称のイベント通知を受け取ります。コールバックにおけるcallType
のパラメータは発信者が入力した通話タイプであり、このパラメータを介して対応するインターフェースを起動することができます。accept()
関数をコールすると同時に openCamera()
関数を呼び出して、自身のローカルCCDカメラを起動します。受信者はreject()
を呼び出し、この通話を拒否することもできます。onUserVideoAvailable()
という名称のイベント通知を受け取ります。これは、相手方のビデオ画面を取得済みであることを示しています。このとき、双方のユーザーはstartRemoteView()
を呼び出し、リモートのビデオ画面を表示することができます。リモートの音声はデフォルトで自動再生に設定されています。TRTCCallingコンポーネントのAPIインターフェースリストは次のとおりです。
インターフェース関数 | インターフェースの機能 |
---|---|
registerListener | TRTCCalling監視装置を追加します。ユーザーはこの監視装置を介してステータス通知を取得することができます |
unRegisterListener | 監視装置を削除します |
destroy | インスタンスを破棄します |
login | IMにログインします。すべての機能を使用するためには、まずログインする必要があります |
logout | IMからログアウトします。ログアウト後はダイヤル操作ができません |
call | C2Cの通話に招待します。被招待者はonInvitedのイベント通知を受け取ります |
accept | 被招待者として通話に応答します |
reject | 被招待者として通話を拒否します |
hangup | 通話を終了します |
setMicMute | micをミュート/非ミュートに設定します |
setHandsFree | ハンズフリーを起動するかどうかを設定します |
この記事はお役に立ちましたか?