![如何在 Linux 中设置 CD 音频音量?](https://linux22.com/image/1316433/%E5%A6%82%E4%BD%95%E5%9C%A8%20Linux%20%E4%B8%AD%E8%AE%BE%E7%BD%AE%20CD%20%E9%9F%B3%E9%A2%91%E9%9F%B3%E9%87%8F%EF%BC%9F.png)
在 Windows 7 控制面板 -> 声音 -> 声音属性窗口中,有一个用于设置 CD 音频音量的滑块:
而且很奇怪我在通用 Linux 混频器中找不到对应的混频器:alsamixer
或者amixer
。
我连接了一个 CD 驱动器,尝试使用cdcd
(CD 播放器)设置 CD 音频音量:
$ cdcd setvol 0
Invalid volume
这实际上并不是无效音量,而是因为ioctl()
调用失败。我在搜索并稍微修改了此实用程序的源代码(在 libcdaudio 中)后发现了这一点:
--- cdaudio.c.orig 2004-09-09 06:26:20.000000000 +0600
+++ cdaudio.c 2012-05-30 21:34:34.167915521 +0600
@@ -578,8 +578,10 @@
cdvol_data.CDVOLCTRL_BACK_RIGHT_SELECT = CDAUDIO_MAX_VOLUME;
#endif
- if(ioctl(cd_desc, CDAUDIO_SET_VOLUME, &cdvol) < 0)
- return -1;
+ if(ioctl(cd_desc, CDAUDIO_SET_VOLUME, &cdvol) < 0) {
+ printf("*** cd_set_volume: ioctl() returned error\n");
+ return -1;
+ }
return 0;
}
顺便说一下,cdcd 的 get volume 命令产生了相当奇怪的输出:
Left Right
Front 1281734864 32767
Back 0 0
我也尝试了 aumix:
$ aumix -c 0
但一切都没有成功。
我从这本手册中读到——http://tldp.org/HOWTO/Alsa-sound-6.html(部分6.2 搅拌器) CD 声道可以在amixer
输出中显示。也许我的 Ubuntu 12.04 LTS 安装中缺少一些声卡驱动程序。虽然我不认为是这种情况:
$ lsmod | grep snd
snd_mixer_oss 22602 0
snd_hda_codec_hdmi 32474 1
snd_hda_codec_realtek 223867 1
snd_hda_intel 33773 4
snd_hda_codec 127706 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep 13668 1 snd_hda_codec
snd_pcm 97188 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_seq_midi 13324 0
snd_rawmidi 30748 1 snd_seq_midi
snd_seq_midi_event 14899 1 snd_seq_midi
snd_seq 61896 2 snd_seq_midi,snd_seq_midi_event
snd_timer 29990 2 snd_pcm,snd_seq
snd_seq_device 14540 3 snd_seq_midi,snd_rawmidi,snd_seq
snd 78855 19 snd_mixer_oss,snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep ,snd_pcm,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 15091 1 snd
snd_page_alloc 18529 2 snd_hda_intel,snd_pcm
我所需要的只是将 CD 音频通道的音量静音或设置为 0,就像我在 Windows 7 中所做的那样,以消除扬声器中的嘶嘶声。
答案1
最后我终于解决了这个问题,用以下方法彻底替换了音频子系统:开源软件4。
相关软件包:
ii oss-compat 2 amd64 Open Sound System (OSS) compatibility package
ii oss4-base 4.2-build2006-2+deb7u1 amd64 Open Sound System - base package
ii oss4-dkms 4.2-build2006-2+deb7u1 amd64 Open Sound System - DKMS module sources
ii oss4-gtk 4.2-build2006-2+deb7u1 amd64 Open Sound System - simple GTK2-based mixer control
ii oss4-source 4.2-build2006-2+deb7u1 amd64 Open Sound System - drivers sources
而且音质现在也很棒。我真的不明白为什么它在一些流行的发行版中被弃用了。