tencent cloud

フィードバック

音声通話(Flutter)

最終更新日:2022-02-21 17:22:11

    音声通話機能をすばやく実装する必要がある場合、当社が提供するDemoをもとにアダプターを修正するか、または当社が提供するTRTCCalling コンポーネントでUIのカスタマイズを実装することができます。

    DemoのUIの再利用

    手順1:アプリケーションの新規作成

    1. TRTCコンソールにログインし、開発支援>Demoクイックスタート**を選択します。
      2.TestAudioCallなどアプリケーション名を入力して、
      作成**をクリックします。
    注意:

    本機能はTencent CloudのTRTCIMという2つの基本的なPaaSサービスを同時に使用し、TRTCをアクティブにした後、IMサービスを同期的にアクティブにすることができます。IMは付加価値サービスであり、課金ルールの詳細については、Instant Messagingの料金説明をご参照ください。

    ステップ2:SDKおよびDemoソースコードをダウンロード

    1. 実際のビジネスニーズに応じて、SDKと付属のDemoソースコードをダウンロードします。
    2. ダウンロード完了後、ダウンロードしました。次のステップをクリックします。

    ステップ3:Demo プログラムファイルの設定

    1. 設定変更画面に進み、ダウンロードしたソースコードパッケージに基づき、対応する開発環境を選択します。
    2. /example/lib/debug/GenerateTestUserSig.dart ファイルを見つけて開きます。
    3. GenerateTestUserSig.dart ファイル内の関連パラメータを設定します。
      • SDKAPPID:デフォルトはPLACEHOLDER、実際のSDKAppIDを設定してください。
      • SECRETKEY:デフォルトはPLACEHOLDER、実際のキー情報を設定してください。

    1. 貼り付け完了後、貼り付けました。次のステップをクリックすれば、作成が完了します。
    2. コンパイル完了後、 コンソール概要に戻る をクリックすれば終了です。
    注意:

    • ここで言及したUserSigの新規作成ソリューションでは、クライアントコードでSECRETKEYを設定します。この手法のうちSECRETKEYは逆コンパイルによって逆向きにクラッキングされやすく、キーがいったん漏洩すると、攻撃者はTencent Cloudトラフィックを盗用できるようになります。そのためこの手法は、ローカルのDemoクイックスタートおよび機能デバッグにのみ適合します
    • UserSigの正しい発行方法は、UserSigの計算コードをサーバーに統合し、Appのインターフェース向けに提供します。UserSigが必要なときは、Appから業務サーバーにリクエストを発出し動的にUserSigを取得します。詳細はUserSigに関するご質問をご参照ください。

    手順4:Demoの動作

    注意:

    Android端末は実際のマシンで実行する必要があり、エミュレーターのデバッグはサポートされていません。

    1. flutter pub getを実行します。
    2. コンパイルを実行し、デバッグを行います。
      1. flutter runを実行します。
      2. Android Studio(3.5およびそれ以降のバージョン)を使用して、ソースプロジェクトを開き、実行をクリックすれば完了です。

    手順5:Demoソースコードの修正

    ソースコードフォルダTRTCCallingDemo には2つのサブフォルダuiとmodelが含まれ、そのうちuiフォルダにはインターフェースコードが含まれています。

    ファイルまたはフォルダ 機能の説明
    TRTCCallingVideo.dart オーディオビデオ通話のメインインターフェースが表示され、このインターフェースで通話の応答と拒否が完了します。
    TRTCCallingContact.dart 連絡先を選択するためのインターフェースを表示するために使用され、このインターフェースを介して登録済みユーザーを検索し、通話を開始できます

    UIカスタマイズの実装

    ソースコードフォルダTRTCCallingDemoには2つのサブフォルダuiとmodelが含まれ、そのうちmodelフォルダには当社が実装した再利用可能なオープンソースコンポーネントTRTCCallingが含まれています。このコンポーネントが提供するインターフェース関数はTRTCCalling.dartファイルで確認できます。

    オープンソースコンポーネントTRTCCallingを使用すれば、自分のUIを実装することができます。すなわちmodel パーツを再利用するだけで、自分でUIパーツを実装できます。

    手順1:SDKの統合

    オーディオビデオ通話コンポーネントTRTCCallingは、TRTC SDKIM SDKに依存しています。pubspec.yamlを設定することで、更新を自動的にダウンロードできます。

    プロジェクトのpubspec.yaml に次の依存関係を記述します。

    dependencies:
     tencent_trtc_cloud: 最新バージョン番号
     tencent_im_sdk_plugin: 最新バージョン番号
    

    手順2:権限の設定および難読化ルール

    Info.plistにカメラとマイクの権限申請を追加する必要があります。

    <key>NSMicrophoneUsageDescription</key>
    <string>通常の音声通話が行えるようにマイクの権限を承認します</string>
    

    手順3:TRTCCalling コンポーネントをインポート

    modelディレクトリ内の全ファイルをプロジェクトにコピーします。

    /lib/TRTCCallingDemo/model
    

    手順4:コンポーネントの初期化およびログイン

    1. TRTCCalling.sharedInstance()を呼び出して、コンポーネントインスタンスを取得します。
    2. 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");

    手順5:1v1音声通話を実現

    1. 発信者:TRTCCallingcall()メソッドを呼び出して通話リクエストを開始し、ユーザーID(userid)と通話タイプ(type)を渡して、通話タイプパラメータをTRTCCalling.typeAudioCallに渡します。
    2. 受信者:受信者がログイン状態の場合は、onInvited()という名称のイベント通知を受け取ります。コールバックにおけるcallTypeのパラメータは発信者が入力した通話タイプであり、このパラメータを介して対応するインターフェースを起動することができます。
    3. 受信者:電話に対応したい場合、受信者は accept() 関数をコールすると同時に openCamera() 関数を呼び出して、自身のローカルCCDカメラを起動します。受信者はreject() を呼び出し、この通話を拒否することもできます。
    4. 双方のオーディオビデオチャネルが確立した後、通話する双方はonUserVideoAvailable()という名称のイベント通知を受け取ります。これは、相手方のビデオ画面を取得済みであることを示しています。このとき、双方のユーザーはstartRemoteView()を呼び出し、リモートのビデオ画面を表示することができます。リモートの音声はデフォルトで自動再生に設定されています。

    コンポーネントAPIリスト

    TRTCCallingコンポーネントのAPIインターフェースリストは次のとおりです。

    インターフェース関数 インターフェースの機能
    registerListener TRTCCalling監視装置を追加します。ユーザーはこの監視装置を介してステータス通知を取得することができます
    unRegisterListener 監視装置を削除します
    destroy インスタンスを破棄します
    login IMにログインします。すべての機能を使用するためには、まずログインする必要があります
    logout IMからログアウトします。ログアウト後はダイヤル操作ができません
    call C2Cの通話に招待します。被招待者はonInvitedのイベント通知を受け取ります
    accept 被招待者として通話に応答します
    reject 被招待者として通話を拒否します
    hangup 通話を終了します
    setMicMute micをミュート/非ミュートに設定します
    setHandsFree ハンズフリーを起動するかどうかを設定します
    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)