AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 15497
Accepted
manatlan
manatlan
Asked: 2010-12-01 04:32:35 +0800 CST2010-12-01 04:32:35 +0800 CST 2010-12-01 04:32:35 +0800 CST

如何删除 PulseAudio 中的 Nvidia HDMI 音频输出?

  • 772

每次重新启动时,PulseAudio 都会将接收器(在我的情况下为“HDMI 音频输出”)设置为默认值。

因此,每次重新启动时,我都听不到任何声音,并且每次都需要将默认接收器重新配置为“模拟输出”。

如何删除/禁用特定接收器(例如 HDMI),或设置覆盖现有接收器的默认接收器?

sound pulseaudio hdmi
  • 6 6 个回答
  • 36245 Views

6 个回答

  • Voted
  1. hbogert
    2020-04-14T03:41:20+08:002020-04-14T03:41:20+08:00

    只需将声卡的配置文件设置为“关闭”,例如:

    pactl set-card-profile alsa_card.usb-Generic_ThinkPad_Dock_USB_Audio-00 off
    

    pavucontrol可以在其“配置”选项卡中很好地做到这一点:

    在此处输入图像描述

    另一种方法是完全禁用pulseaudio中的任何自动连接功能,但是我喜欢我的蓝牙耳机的这个功能。使用上述解决方案,您可以以细粒度的方式禁用声卡。

    • 15
  2. Selmi
    2019-03-23T01:10:37+08:002019-03-23T01:10:37+08:00

    在 18.10 中,我能够修复它

    文件/etc/modprobe.d/blacklist.conf
    添加

    blacklist snd_hda_codec_hdmi
    
    • 9
  3. Best Answer
    Takkat
    2010-12-01T10:44:04+08:002010-12-01T10:44:04+08:00

    1.删​​除用户设置

    编辑default.pa之前的另一种方法~/.pulseaudio是将隐藏目录重命名为~/.pulseaudio.000/home 目录中的名称。这是存储用户定义设置的地方。如果删除或重命名,它将立即从/etc/pulse/default.pa设置中重新创建。

    2. 编辑默认值

    仅当这对您的系统没有影响时,udev 才可能将 HDMI 接口加载为默认接收器。然后, HagenaarsDotNu已经提到了一种方法来编辑 default.pa。请注意备份当前的 default.pa。寻找这个非常自我解释的部分(注意 hal-detect 在 Ubuntu >10.04 中不起作用)。

    ### Load audio drivers statically (it's probably better to not load
    ### these drivers manually, but instead use module-hal-detect --
    ### see below -- for doing this automatically)
    #load-module module-alsa-sink
    #load-module module-alsa-source device=hw:1,0
    #load-module module-oss device="/dev/dsp" sink_name=output source_name=input
    #load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
    #load-module module-null-sink
    #load-module module-pipe-sink
    #
    ### Automatically load driver modules depending on the hardware available
    .ifexists module-udev-detect.so
    load-module module-udev-detect
    .else
    ### Alternatively use the static hardware detection module (for systems that
    ### lack udev support)
    load-module module-detect
    .endif
    

    3.优雅的方式

    使音频工作的另一种更优雅的方法是从paprefs启用“同时输出”,如下所示:

    文件

    这可以在内部音频和 HDMI 接口上实现音频输出。将此虚拟输出设备设为默认设备,您将拥有所有选项。

    • 7
  4. HagenaarsDotNu
    2010-12-01T08:13:53+08:002010-12-01T08:13:53+08:00

    我在 Launchpad 上找到了这个建议

    哪些状态您应该编辑 pulseaudio 设置

    sudo nano /etc/pulse/default.pa
    

    并替换#set-default-sink output为:set-default-sink {name of your device}

    pactl list通过查看卡部分name字段中的输出可以找到设备的名称。

    我检查了,该方法在 10.10 中应该仍然有效

    • 3
  5. Ryan Davis
    2022-04-11T12:03:57+08:002022-04-11T12:03:57+08:00

    找到了更好的选择

    如下所述使用 systemd 在启动时有效,但在将设备插入已运行的系统时无效。

    要在热插拔和启动时忽略音频,udev 规则是更好的选择。

    改编自Tell PulseAudio 使用 udev 忽略 USB 设备:

    1. 用于lsusb标识您要忽略的设备的供应商/产品 ID

      $ lsusb
      Bus 006 Device 003: ID 17e9:4307 DisplayLink LAPDOCK
      # <other devices I don't care about>
      

      这ID部分给了我们神奇的数字

    2. 创建一个 udev 规则文件,例如/etc/udev/rules.d/80-ignore-audio-cards.rules为脉冲音频设置环境变量。

      对我来说,这看起来像:

      ATTRS{idVendor}=="17e9", ATTRS{idProduct}=="4307", ENV{PULSE_IGNORE}="1"
      

      我80-任意选择了文件名的前缀。如果您有任何与pulseaudio相关的规则,请确保您的新文件以较小的数字开头

    3. 重启确保生效

    有了 udev 规则,pulseaudio 会完全忽略该设备。


    上一个答案:

    遇到同样的问题,并且给定的答案在重新启动后对我不起作用。我认为我的问题是延迟检测卡;当pulseaudio启动时,它并没有看到所有的卡片,并且module-switch-on-connect总是module-switch-on-port-available在重置我的选择。

    我通过在登录时运行systemd 用户单元来解决这个问题。pactl set_card_profile "$MY_CARD_NAME" off

    1. 找到你不想要的卡的名字;希望这个名字应该足以说明是哪一个:

      $ pactl list cards | grep -E '(Card|Name:)'
      Card #0
          Name: alsa_card.usb-DisplayLink_LAPDOCK_U3D2338486250-02
      Card #1
          Name: alsa_card.pci-0000_01_00.1
      Card #2
          Name: alsa_card.usb-Plantronics_Plantronics_Blackwire_5220_Series_2961D11C621649939CED8BF57E910BA5-00
      Card #3
          Name: alsa_card.usb-HD_Web_Camera_HD_Web_Camera_Ucamera001-02
      Card #4
          Name: alsa_card.pci-0000_00_1f.3
      

      对我来说,是“LAPDOCK”一直在窃取我的音频。

    2. 创建 systemd 单元,调用pactl和禁用卡:

      $ mkdir -p ~/.config/systemd/user
      $ nano ~/.config/systemd/user/disable-cards.service
      

      添加这些内容,将ExecStart行更改为引用您要删除的卡:

      [Unit]
      Description=Disable card
      
      [Service]
      Type=simple
      Restart=on-failure
      ExecStart=pactl set-card-profile "alsa_card.usb-DisplayLink_LAPDOCK_U3D2338486250-02" off
      
      [Install]
      WantedBy=default.target
      
    3. 启用服务:systemctl --user enable disable-cards

    现在,当您重新启动 systemd 将继续尝试断开该卡,直到它成功。插入显示器后,可能有更好的systemd配置来运行它;每个设备都显示为一个“单元”(例如在 的输出中systemctl --user),因此可以在您插入/拔出东西时对其进行改进。

    另一种选择是改变你/etc/pulse/default.pa的使用module-switch-on-connect blacklist="REGEX_MATCHING_THE_CARD_NAME",但这对我不起作用;没有办法自定义module-switch-on-port-available,我认为这就是为我选择它的原因。

    • 1
  6. Dmitry Obelov
    2020-12-29T02:00:32+08:002020-12-29T02:00:32+08:00

    作为一种解决方法,请通过编辑/etc/pulse/default.pa和注释掉(使用#)或删除来禁用该功能:

    load-module module-switch-on-port-available
    

    并重新启动系统。

    • 0

相关问题

  • 播放声音时延迟

  • 5.1环绕声[关闭]

  • 声音,在多个程序之间停止

  • 即使插入耳机,我的扬声器也会发出声音[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve