在 macOS 系统上进行屏幕共享时,如果需要共享设备音频,需要使用虚拟声卡开启声卡采集,并将虚拟声卡的设备 ID 传入 startScreenAudioCapture
。
你可以选择安装火山引擎实时音视频提供的虚拟声卡 VeRTCVirtualSoundCard ,它基于 AudioServerPlugin 的方式实现,支持 44.1 KHz 及 48 KHz 采样率,输入/输出格式为 float32 双声道。
VeRTCVirtualSoundCard 属于 DriverKit 服务,在安装 VeRTCVirtualSoundCard 前你需要向 Apple 申请 Entitlements,以保障系统安全性,也是将应用上架到 Apple App Store 的必要步骤。
参考 Requesting Entitlements for DriverKit Development, 了解使用 DriverKit 服务申请 Entitlement 详情。
申请入口:System Extensions 页面的 Contact us。
向 Apple 提交申请后,需等待一段时间才能收到答复,应用上架排期应为此阶段预留充分时间
在你的申请被 Apple 审查期间,可以通过暂时关闭 SIP(System Integrity Protection)来测试 Mac 设备上的 DriverKit 服务。
在安装应用程序的指令中增加如下指令:
sudo cp -R <项目中驱动目录>/VeRTCVirtualSoundCard.driver /Library/Audio/Plug-Ins/HAL sudo killall coreaudiod
/Library
是指根目录而非/Users/user/Library
若安装该虚拟声卡后需要删除,可参考如下指令:
rm -R /Library/Audio/Plug-Ins/HAL/VeRTCVirtualSoundCard.driver sudo killall coreaudiod
macOS Sonoma 14.4 之前的版本建议使用以下指令终止进程。
sudo launchctl kickstart -kp system/com.apple.audio.coreaudiod