9. パソコンサウンドの共有

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

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

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

startSystemAudioLoopbackインターフェースを呼び出して、システム音声のキャプチャを開始し、アップリンクオーディオストリームに混合します。インターフェースが実行された後、成功または失敗の結果はonSystemAudioLoopbackErrorを介してコールバックされます。
import TRTCCloud, { TRTCAudioQuality } from 'trtc-electron-sdk';
const rtcCloud = new TRTCCloud();
function onSystemAudioLoopbackError(errCode) {
if(errCode === 0) {
console.log(‘起動成功');
}
if (errCode === -1330) {
console.log('システム音声のレコーディングを有効にできませんでした。たとえば、オーディオドライバプラグインが利用できません');
}
if (errCode === -1331) {
console.log('オーディオドライバプラグインのインストールが許可されていません');
}
if (errCode === -1332) {
console.log('オーディオドライバプラグインのインストールに失敗しました');
}
}

trtcCloud.on('onSystemAudioLoopbackError', onSystemAudioLoopbackError);
trtcCloud.startLocalAudio(TRTCAudioQuality.TRTCAudioQualityDefault);
trtcCloud.startSystemAudioLoopback();


ご注意:
startSystemAudioLoopbackを最初に呼び出すと、root権限が取得され(下図を参照)、ユーザーがOKをクリックすると、仮想サウンドカードプラグインが自動的にインストールされます。

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

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

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

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

統合のまとめ

Mac側では、TRTCは仮想サウンドカードプラグインTRTCAudioPlugin.driverを使用してシステムオーディオをレコーディングします。この仮想サウンドカードプラグインをシステムディレクトリ/Library/Audio/Plug-Ins/HALにコピーし、オーディオサービスを再起動して有効にする必要があります。仮想サウンドカードプラグインが正常にインストールされているかどうかは、Launchpadその他フォルダにあるオーディオMIDI設定アプリケーションで確認できます。このアプリケーションのデバイスリストに「TRTC Audio Device」という名前のデバイスがある場合は、TRTCの仮想サウンドカードプラグインが正常にインストールされていることを示します。