移除 PulseAudio 设备

qub*_*dup 15 linux audio pulseaudio

在按照说明进行操作时,我加载了一个模块,该模块使用以下命令创建了一个输入设备“空输出监视器”和一个输出设备“空输出”:

pactl load-module module-null-sink sink_name=rmd
Run Code Online (Sandbox Code Playgroud)

这不是我想要的。如何删除这两个设备?

pactl list 显示:

Sink #2
        State: IDLE
        Name: rmd
        Description: Null Output
        Driver: module-null-sink.c
        Sample Specification: s16le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 24
        Mute: no
        Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: rmd.monitor
        Latency: 1569 usec, configured 40000 usec
        Flags: DECIBEL_VOLUME LATENCY 
        Properties:
                device.description = "Null Output"
                device.class = "abstract"
                device.icon_name = "audio-card"
        Formats:
                pcm
Run Code Online (Sandbox Code Playgroud)

我试过

pactl unload-module rmd
pactl unload-module sink_name=rmd
pactl unload-module "Null Output"
Run Code Online (Sandbox Code Playgroud)

所有这些都回应:

Failed to unload module: Module Null Output not loaded
Run Code Online (Sandbox Code Playgroud)

等等。

我可以运行,pactl unload-module module-null-sink但这会删除加载了该模块的所有设备。如何移除设备或卸载创建上述设备的模块?

qub*_*dup 21

pactl unload-module 给出提示:

You have to specify a module index or name
Run Code Online (Sandbox Code Playgroud)

手册页也是如此:

   unload-module ID|NAME
          Unload  the module instance identified by the specified numeric
          index or unload all modules by the specified name.
Run Code Online (Sandbox Code Playgroud)

ID 显示在此行 ( pactl list) 中:

        Owner Module: 24
Run Code Online (Sandbox Code Playgroud)

赶紧跑

pactl unload-module 24
Run Code Online (Sandbox Code Playgroud)

以移除相应的设备。

  • 如果这不是持久性的,意味着该模块将在下次启动时再次加载,如何使其持久化?我想我可以设置一个在启动时运行 `pactl unload-module <module-id>` 的脚本,但是有没有更简单的解决方案呢? (2认同)