Как настроить громкость звука компакт-диска в Linux?

666
Ilya I

В панели управления Windows 7 -> Звук -> Окно «Свойства звука» есть ползунок для настройки громкости CD Audio:

enter image description here

И довольно странно, что я не могу найти соответствующий в обычных микшерах Linux: alsamixerили amixer.

Я подключил привод CD, чтобы попытаться установить громкость звука CD с помощью cdcd(CD Player):

$ 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 

Все, что мне нужно, это просто отключить звук или установить на 0 уровень громкости канала CD Audio, как я это делал в Windows 7, чтобы избавиться от шума в динамиках.

2
Какой дистрибутив Linux вы используете? Der Hochstapler 12 лет назад 0

1 ответ на вопрос

1
Ilya I

Наконец мне удалось решить эту проблему, полностью заменив аудиоподсистему на OSS 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 

И качество звука сейчас отличное. Я действительно не могу понять, почему это считается устаревшим в некоторых популярных дистрибутивах.