シーンのペインポイントとソリューション
画面共有などのユースケースでは、システムオーディオを相互に共有する必要があります。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コマンドを実行しファイルを新規作成してから、以下の内容を追加してください。
2. Xcodeプロジェクトを開き、解凍後のファイルlibPrivilegedTask.aをプロジェクトへインポートします。
3. 実行されるtargetを選択し、Build Phasesアイテムを選択し、Link Binary with Librariesアイテムを展開し、その下の**+**をクリックし、依存ライブラリlibPrivilegedTask.a
を追加します。 手順2:App Sandbox機能の無効化
Appのentitlements説明ファイルから、App Sandboxエントリを削除します。 手順3:仮想サウンドカードプラグインのパッケージ化
TRTCPrivilegedTaskライブラリの統合とApp Sandbox機能の無効化の後、システムオーディオレコーディング機能を初めて使用する場合、SDKは仮想サウンドカードプラグインをネットワークからダウンロードしてインストールします。このプロセスをアクセラレーションする場合は、TXLiteAVSDK_TRTC_Mac.framework
のPlugInsディレクトリにある仮想サウンドカードプラグインTRTCAudioPlugin.driver
をAppBundleのResourcesディレクトリにパッケージ化できます。下図のとおりです:
またはApp BundleのPlugInsディレクトリにコピーします。下図のとおりで: 手順4:システム音声のキャプチャを開始します
TRTCCloud *trtcCloud = [TRTCCloud sharedInstance];
[trtcCloud startLocalAudio];
[trtcCloud startSystemAudioLoopback];
ご注意:
TRTCPrivilegedTaskライブラリの統合とApp Sandbox機能の無効化の後、startSystemAudioLoopbackを最初に呼び出す場合は、root権限を取得します。
ユーザーがOKをクリックすると、仮想サウンドカードプラグインが自動的にインストールされます。
手順5:システム音声のキャプチャを停止します
TRTCCloud *trtcCloud = [TRTCCloud sharedInstance];
[trtcCloud stopSystemAudioLoopback];
手順6:システム音声のキャプチャボリュームを設定します
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機能を使用したりする場合は、仮想オーディオプラグインを手動でインストールするスキームを選択することをお勧めします。
この記事はお役に立ちましたか?