如何在 Linux 上仅从特定程序录制音频?

如何在 Linux 上仅从特定程序录制音频?

有没有办法只录制特定程序的音频,以便不录制其他声音(例如通知)?

我正在使用 pulseaudio 运行 Archlinux。

答案1

您可以使用 pulseaudio 的一部分 pacat。

首先打开你的应用程序。然后运行 ​​pactl list 并找到你的设备。在我的示例中,我将使用 chrome

片段:

Client #229
Driver: protocol-native.c
    Owner Module: 8
    Properties:
        application.name = "Chrome input"
    native-protocol.peer = "UNIX socket client"
        native-protocol.version = "28"
    application.process.id = "16404"
        application.process.user = "robert"
        application.process.host = "HS"
        application.process.binary = "chrome"
        application.language = "en_US.UTF-8"
    window.x11.display = ":0.0"
        application.process.machine_id = "15d4d55cf80e320acb892977520d0894"
        application.process.session_id = "c1"

我将获取应用程序名称并运行 pacat。

 pacat -r -n "Chrome input" | sox -t raw -r 44100 -s -L -b 16 -c 2 - "output.wav"

您还可以使用 pacat 从设备等捕获。pacat 手册页有更多信息

相关内容