Вопрос или проблема
Я использую moc на ноутбуке уже некоторое время, и это здорово, но потом я захотел подключить USB-радио как выходное устройство, rhythmbox и другие плееры обнаружили новое выходное устройство, но у moc выход жестко закодирован в ~/.moc/config, где указано:
# Звуковой драйвер - OSS, ALSA, JACK, SNDIO (на OpenBSD) или null (только для
# отладки).
# Вы можете ввести более одного драйвера в виде списка, разделенного двоеточиями. Первым
# будет использован рабочий драйвер.
SoundDriver = JACK:ALSA:OSS
# Настройки вывода Jack.
JackOutLeft = "alsa_pcm:playback_1"
JackOutRight = "alsa_pcm:playback_2"
# Устройство вывода OSS.
OSSDevice = /dev/dsp
# Устройство микширования OSS.
OSSMixerDevice = /dev/mixer
# Канал микширования OSS: pcm или master.
OSSMixerChannel = pcm
# Второй канал микширования OSS: pcm или master.
OSSMixerChannel2 = master
# Устройство микширования ALSA.
AlsaMixer = PCM
# Второе устройство микширования ALSA.
AlsaMixer2 = Master
# Устройство вывода ALSA.
AlsaDevice = default
И у меня нет идеи, что менять. Нужен какой-то учебник о устройствах и дополнительная помощь.
Я предполагаю, что мне нужно изменить что-то в alsa, но ни в moc, ни в alsamixer, я не знаю, как проверить, где находится мое USB-устройство и что поменять.
Я предполагаю, что вы не используете Jack audio server, а обычный Alsa:
Проблема, вероятно, заключается в этой строке, которая говорит MOC использовать устройство по умолчанию ALSA (которое, вероятно, является встроенной звуковой картой):
AlsaDevice = default
Решение №1:
Изменяйте устройство по умолчанию ALSA каждый раз, когда вы вставляете своё USB-аудиоустройство. Это красиво упоминается на странице часто задаваемых вопросов Alsa: http://alsa.opensrc.org/FAQ026
Возможно, это можно автоматизировать с помощью udev (но это, думаю, другой вопрос)
Решение №2:
Создайте второй файл конфигурации для MOC с другой настройкой переменной AlsaDevice
, и каждый раз, когда вы запускаете MOC, указывайте, какой конфиг использовать с --config $FILE
. Но я не уверен, как правильно установить настройку AlsaDevice
в MOC
Ответ или решение
Для изменения музыкального вывода в MOC (Music on Console) с использованием ALSA (Advanced Linux Sound Architecture) и подключения USB-радио, необходимо внести правки в конфигурационный файл MOC, который расположен в ~/.moc/config
. Давайте подробно рассмотрим возможные решения данной задачи.
Шаг 1: Определение нового аудиоустройства
Перед тем как вносить изменения в конфигурацию MOC, нам нужно определить, как именно система распознает ваше USB-устройство.
-
Проверьте доступные устройства:
Откройте терминал и выполните команду:aplay -l
Эта команда выведет список всех доступных звуковых устройств. Найдите ваше USB-устройство в этом списке.
-
Определите имя устройства:
Обычно устройство будет представлено в формате, например,hw:1,0
илиplughw:1,0
. Обратите внимание на тот идентификатор, который соответствует вашему USB-устройству.
Шаг 2: Изменение конфигурации MOC
Теперь, когда вы знаете, как называется ваше USB-устройство, вы можете изменить соответствующий параметр в конфигурационном файле MOC.
-
Откройте конфигурационный файл:
Откройте файл~/.moc/config
в текстовом редакторе:nano ~/.moc/config
-
Измените параметр
AlsaDevice
:
Найдите строку, которая выглядит следующим образом:AlsaDevice = default
Замените
default
на имя вашего USB-устройства. Например, если ваше устройство имеет названиеhw:1,0
, измените строку на:AlsaDevice = hw:1,0
Шаг 3: Сохраните изменения и запустите MOC
-
Сохраните файл:
После внесения изменений сохраните файл и выйдите из редактора (вnano
это делается с помощьюCtrl + O
иCtrl + X
). -
Запустите MOC:
Теперь запустите MOC и проверьте, работает ли аудиовывод через USB-устройство.
Дополнительные советы
-
Изменение системы по умолчанию: Если вы хотите, чтобы USB-устройство всегда использовалось по умолчанию при его подключении, вам может понадобиться изменить конфигурацию ALSA или использовать такие инструменты, как
udev
, для автоматической настройки по мере подключения устройства. Это может потребовать дополнительных исследований и тестов. -
Создание нескольких конфигурационных файлов: Если вы часто переключаетесь между несколькими устройствами вывода, рассмотрите возможность создания нескольких конфигурационных файлов для MOC и запуска его с помощью параметра
--config $FILE
, чтобы выбрать нужный вам файл конфигурации в зависимости от используемого устройства.
Заключение
Изменение аудиовывода в MOC может показаться сложной задачей, но с использованием команды aplay
для определения устройства и редактированием конфигурационного файла можно легко настроить музыкальный плеер для работы с USB-устройствами. Экспериментирование с параметрами ALSA и настройками конфигурации обеспечит вам возможность наслаждаться музыкой через любое предпочтительное устройство.