tencent cloud

フィードバック

TUIRoom (iOS)の統合

最終更新日:2022-04-25 10:58:59

    コンポーネントの説明

    TUIRoomはオープンソースのオーディオビデオUIコンポーネントであり、プロジェクトにTUIRoomコンポーネントを統合することにより、数行のコードを書くだけで、Appに画面共有、美顔、低遅延ビデオ通話などを組み込むことができます。TUIRoomはまた、AndroidWindowsMacなどのプラットフォームでもサポートしています。基本機能は下図のとおりです。

    コンポーネントの統合

    ステップ1:TUIRoomコンポーネントのダウンロードとインポート

    cocoapodsを使用してコンポーネントをインポートすることができます。具体的な手順は、以下のとおりです。

    説明:

    画面共有機能が必要な場合は、公式サイトリンクからTXLiteAVSDK_ReplayKitExt.frameworkをダウンロードしてご自身のプロジェクトに追加し、targetに「Broadcast Upload Extension」を新規作成することができます。実装に関しては、デモプロジェクトをご参照ください。

    1. クリックしてGithubに進み、コードのクローン/ダウンロードを選択した後、iOS下のResourcesSDKSourceフォルダ、TUIRoom.podspecファイルをプロジェクトにコピーします。
    2. Podfileファイル内に以下の依存関係を追加します。その後、pod installコマンドを実行すると、インポートが完了します。
      # TXLiteAVSDK
      pod 'TXLiteAVSDK_TRTC'
      # :path => "TXAppBasic.podspecのあるディレクトリを指定する相対パス"
      pod 'TXAppBasic', :path => "../SDK/TXAppBasic/"
      # :path => "TCBeautyKit.podspecのあるディレクトリを指定する相対パス"
      pod 'TCBeautyKit', :path => "../SDK/TCBeautyKit/"
      # :path => "TUIRoom.podspecのあるディレクトリを指定する相対パス"
      pod 'TUIRoom', :path => "../", :subspecs => ["TRTC"]
      
    注意:

    SourceResourcesフォルダとTUIRoom.podspecファイルは同一のディレクトリ下にある必要があります。

    • TXAppBasic.podspecはTXAppBasicフォルダ下にあります。
    • TCBeautyKit.podspecはTCBeautyKitフォルダ下にあります。

    ステップ2:権限の設定

    オーディオビデオ機能を使用するには、マイクおよびカメラの使用権限を付与する必要があります。AppのInfo.plistで以下の2項を追加します。これらはシステムが権限付与ダイアログボックスをポップアップする際に表示される、マイクとカメラのメッセージにそれぞれ対応します。

    • Privacy - Microphone Usage Description、さらにマイク使用目的のプロンプトを記入します。
    • Privacy - Camera Usage Description、さらにカメラ使用目的のプロンプトを記入します。

    ステップ3:コンポーネントの作成およびログイン

    1. TUICoreのTUILoginを呼び出してログインします。次の例をご参照ください。
      TUILogin.initWithSdkAppID(Int32("あなたのsdkAppID"))
      TUILogin.login("あなたのuserId", userSig: "あなたのuserSig", succ: {
       debugPrint("login success")
      }, fail: { code, errorDes in
       debugPrint("login failed, code:\(code), error: \(errorDes ?? "nil")")
      })
      

    パラメータの説明

    • SDKAppIDTRTCアプリケーションIDです。Tencent Cloud TRTCサービスをアクティブ化していない場合は、Tencent Cloud TRTCコンソールに進み、新しいTRTCアプリケーションを作成した後、アプリケーション情報をクリックすると、SDKAppID情報が次の図のように表示されます。
    • SecretkeyTRTC アプリケーションキーであり、SDKAppIdに対応しています。TRTCアプリケーション管理に進むと、SecretKey情報が上の図のように表示されます。
    • userId:現在のユーザーID。文字列タイプでは、英語のアルファベット(a-zとA-Z)、数字(0-9)、ハイフン(-)とアンダーライン(_)のみ使用できます。業務の実際のアカウントシステムと組み合わせてご自身で設定することをお勧めします。
    • userSig:SDKAppId、userId,Secretkeyなどの情報に基づく計算によって得られるセキュリティ保護署名です。ここをクリックするとデバッグ用のUserSigがオンラインで直接生成されます。また当社のデモプロジェクト を参照してご自身で計算することもできます。その他の情報については、UserSigの計算、使用方法をご参照ください。

    ステップ4:多人数オーディオビデオインタラクションの実装

    1. **管理者による多人数オーディオビデオインタラクションルーム作成の実装TUIRoomCore#createRoom**。

      let roomId = 123
      TUIRoomCore.shareInstance().createRoom("\(roomId)",speechMode: .freeSpeech,callback: { [weak self] code, message in
      if code == 0 {
         debugPrint("create room success") 
      }else{
      }
      })
      
    2. **他メンバーのオーディオビデオルーム入室の実装 TUIRoomCore#enterRoom**。

      let roomId = 123
      TUIRoomCore.shareInstance().enterRoom("\(roomId)", callback: { [weak self] code, message in
      if code == 0 {
         debugPrint("enter room success") 
      }else{
      }
      })
      
    3. 退室の実装

      • キャスターTUIRoomCore#destroyRoomインターフェースを呼び出してルームを解散し、IMグループチャットを解散し、TRTCルームから退出します。 メンバー側は、グループの解散を通知するonDestroyRoomコールバックメッセージを受信し、TRTCルームから退出します。
      • メンバーTUIRoomCore#leaveRoomインターフェースを呼び出してルームを解散し、IMグループチャットから退出し、TRTCルームから退出します。 その他のメンバー側は、メンバーが退室したことを通知するonRemoteUserLeaveコールバックメッセージを受信します。
        if isHomeowner {
        TUIRoomCore.shareInstance().destroyRoom { [weak self] _, _ in
         guard let self = self else { return }
         self.navigationController?.popViewController(animated: true)
        }
        }else{
        TUIRoomCore.shareInstance().leaveRoom { [weak self] _, _ in
         guard let self = self else { return }
         self.navigationController?.popViewController(animated: true)
        }
        }
        
    4. **画面共有の実装 TUIRoomCore#startScreenCapture**。

      • TUIRoomCoreのstartScreenCaptureを呼び出して共有します。
      • ルーム内の他のメンバーはonRemoteUserScreenVideoAvailableのイベント通知を受信します。
        // ボタンのクリックで画面共有を実現します
        if #available(iOS 12.0, *) {
        // 画面共有
        let params = TRTCVideoEncParam()
        params.videoResolution = TRTCVideoResolution._1280_720
        params.resMode = TRTCVideoResolutionMode.portrait
        params.videoFps = 10
        params.enableAdjustRes = false
        params.videoBitrate = 1500
        TUIRoomCore.shareInstance().startScreenCapture(params)
        TUIRoomBroadcastExtensionLauncher.launch()
        }else{
        view.window?.makeToast(.versionLowToastText)
        }    
        

    よくあるご質問

    CocoaPodsをインストールするにはどうすればよいですか。

    端末のウィンドウに次のコマンドを入力します(事前にMac にRuby環境をインストールしておく必要があります )。

    sudo gem install cocoapods
    
    説明:

    ご要望やフィードバックなどがございましたら、colleenyu@tencent.comまでご連絡ください。

    お問い合わせ

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

    テクニカルサポート

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

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