tencent cloud

文档反馈

Electron

最后更新时间:2022-07-21 17:01:36

    场景痛点及解决方案

    在屏幕分享等应用场景中,常需要共享系统音频给对方,而采用 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 权限(如下图), 在用户单击后,开始自动安装虚拟声卡插件。

    步骤2:停止系统声音采集

    调用 stopSystemAudioLoopback 接口停止系统声音采集。

    trtcCloud.stopSystemAudioLoopback();
    

    步骤3:设置系统声音采集音量

    调用 setSystemAudioLoopbackVolume 接口设置系统声音的采集音量。

    trtcCloud.setSystemAudioLoopbackVolume(60);
    

    集成小结

    TRTC 在 Mac 端是通过虚拟声卡插件 TRTCAudioPlugin.driver 来录制系统音频。这个虚拟声卡插件需要拷贝至系统目录 /Library/Audio/Plug-Ins/HAL 并重启音频服务后生效。 可以通过 启动台其他 文件夹中 音频 MIDI 设置 应用来检查虚拟声卡插件是否安装成功。在该应用的设备列表中,有名称为 “TRTC Audio Device” 的设备即表明 TRTC 的虚拟声卡插件安装成功。

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持