tencent cloud

フィードバック

最終更新日:2022-07-07 15:24:23

    シーンのペインポイントとソリューション

    画面共有などのユースケースでは、システムオーディオを相互に共有する必要があります。Macコンピュータのデフォルトのサウンドカードはシステムオーディオのキャプチャをサポートしていないため、Macコンピューターでシステムオーディオを共有することは困難です。これに基づいて、TRTCは、このシーンのニーズを満たすためにMac側でシステムオーディオをレコーディングする機能を提供します。具体的なアクセス手順は次のとおりです。

    統合の説明

    手順1:TRTCPrivilegedTaskライブラリの統合

    SDKは、TRTCPrivilegedTaskライブラリを使用して、仮想サウンドカードプラグインTRTCAudioPlugin.driverをシステムディレクトリ/ Library / Audio / Plug-Ins/HALにインストールするためのroot権限を取得してください。

    1. 現在のプロジェクトのルートディレクトリのPodfileファイルを開き、以下のコンテンツを追加します:

      platform :osx, '10.10'  

      target 'Your Target' do
      pod 'TRTCPrivilegedTask', :podspec => 'https://pod-1252463788.cos.ap-guangzhou.myqcloud.com/liteavsdkspec/TRTCPrivilegedTask.podspec'
      end

    2. pod installコマンドを実行し、TRTCPrivilegedTaskライブラリをインストールします。

    説明
  • プロジェクトのルートディレクトリにPodfileファイルがない場合は、まずpod initコマンドを実行しファイルを新規作成してから、以下の内容を追加してください。
  • CocoaPodsのインストール方法については、CocoaPods公式サイトインストールの説明をご参照ください。
  • 手順2:App Sandbox機能の無効化

    Appのentitlements説明ファイルから、App Sandboxエントリを削除します。
    Sandbox

    手順3:仮想サウンドカードプラグインのパッケージ化

    TRTCPrivilegedTaskライブラリの統合App Sandbox機能の無効化の後、システムオーディオレコーディング機能を初めて使用する場合、SDKは仮想サウンドカードプラグインをネットワークからダウンロードしてインストールします。このプロセスをアクセラレーションする場合は、TXLiteAVSDK_TRTC_Mac.frameworkのPlugInsディレクトリにある仮想サウンドカードプラグインTRTCAudioPlugin.driverをAppBundleのResourcesディレクトリにパッケージ化できます。下図のとおりです:
    プラグインのパッケージ化
    またはApp BundleのPlugInsディレクトリにコピーします。下図のとおりで:
    プラグインのパッケージ化2

    手順4:システム音声のキャプチャを開始します

    startSystemAudioLoopbackインターフェースを呼び出して、システム音声のキャプチャを開始し、アップリンクオーディオストリームに混合します。インターフェースが実行された後、成功または失敗の結果はonSystemAudioLoopbackErrorを介してコールバックされます。

    TRTCCloud *trtcCloud = [TRTCCloud sharedInstance];
    [trtcCloud startLocalAudio];
    [trtcCloud startSystemAudioLoopback];
    
    注意:

    TRTCPrivilegedTaskライブラリの統合とApp Sandbox機能の無効化の後、startSystemAudioLoopbackを最初に呼び出す場合は、root権限を取得します。
    ユーザーがOKをクリックすると、仮想サウンドカードプラグインが自動的にインストールされます。

    手順5:システム音声のキャプチャを停止します

    stopSystemAudioLoopbackインターフェースを呼び出して、システム音声のキャプチャを終了します。

    TRTCCloud *trtcCloud = [TRTCCloud sharedInstance];
    [trtcCloud stopSystemAudioLoopback];
    

    手順6:システム音声のキャプチャボリュームを設定します

    setSystemAudioLoopbackVolumeインターフェースを呼び出して、システム音声のキャプチャボリュームを設定します。

    TRTCCloud *trtcCloud = [TRTCCloud sharedInstance];
    [trtcCloud setSystemAudioLoopbackVolume:80];
    

    統合のまとめ

    • Mac側では、TRTCは仮想サウンドカードプラグインTRTCAudioPlugin.driverを使用してシステムオーディオをレコーディングします。この仮想サウンドカードプラグインをシステムディレクトリ/Library/Audio/Plug-Ins/HALにコピーし、オーディオサービスを再起動して有効にする必要があります。仮想サウンドカードプラグインが正常にインストールされているかどうかは、Launchpadその他フォルダにあるオーディオMIDI設定アプリケーションで確認できます。このアプリケーションのデバイスリストに「TRTC Audio Device」という名前のデバイスがある場合は、TRTCの仮想サウンドカードプラグインが正常にインストールされていることを示します。
    • 前の手順でのTRTCPrivilegedTaskライブラリの統合App Sandbox機能の無効化は、仮想サウンドカードプラグインを自動的にインストールするためのTRTC SDKのroot権限を提供するためのものです。TRTCPrivilegedTaskライブラリが統合されておらず、App Sandbox機能が保持されている場合、SDKは仮想サウンドカードプラグインを自動的にインストールしませんが、仮想サウンドカードプラグインがシステムにインストールされている場合、システムオーディオレコーディング機能は引き続き正常に使用できます。
      説明:

      上記のスキームに加えて、仮想サウンドカードプラグインを手動でインストールして、この機能を統合することもできます。

      1. TXLiteAVSDK_TRTC_Mac.frameworkのPlugInsディレクトリにあるTRTCAudioPlugin.driverをシステムディレクトリ/Library/Audio/Plug-Ins/HALにコピーします。
      2. システムのオーディオサービスを再起動します。
    sudo cp -R TXLiteAVSDK_TRTC_Mac.framework/PlugIns/TRTCAudioPlugin.driver /Library/Audio/Plug-Ins/HAL  
    sudo kill -9 `ps ax|grep 'coreaudio[a-z]' |awk '{print $1}'`

    注意事項

    • App Sandbox機能を無効にすると、Appで取得したユーザーパスが変更されます。
      NSSearchPathForDirectoriesInDomainsなどのシステムメソッドによって取得された ~/Documents~/Libraryなどのディレクトリは、サンドボックスディレクトリからユーザーディレクトリ/Users/ユーザー名/Documents/Users/ユーザー名/Libraryに切り替えられます。
    • TRTCPrivilegedTaskライブラリを統合すると、AppがMac App Storeにリストされなくなる可能性があります。
      SDKが仮想サウンドカードプラグインを自動的にインストールする場合、App Sandbox機能を閉じてルート権限を取得する必要があります。AppがMac App Storeにリストされなくなる可能性があります。詳細については、App Store Review Guidelinesをご参照ください。
      App Storeにリストしたり、Sandbox機能を使用したりする場合は、仮想オーディオプラグインを手動でインストールするスキームを選択することをお勧めします。
    お問い合わせ

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

    テクニカルサポート

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

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