VLC не может обнаружить/выбрать устройство вывода звука по умолчанию.

Вопрос или проблема

У меня чистая установка Funtoo, и после настройки ALSA я попытался воспроизвести несколько фильмов через VLC, но он, похоже, не может обнаружить/выбрать устройство вывода аудио по умолчанию. Если я перехожу в Аудио -> Аудио устройство и выбираю нужное аудиоустройство, то все работает хорошо. Кто-нибудь знает, как решить эту проблему?

Вот установленная версия VLC

VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42

Когда я вызываю vlc из консоли, я вижу следующий вывод, я на KDE Plasma 5

[00000000012741f8] core libvlc: Запуск vlc с интерфейсом по умолчанию. Используйте 'cvlc' для запуска vlc без интерфейса.
[0000000001386528] qt4 interface error: Не удалось загрузить модуль расширений

Вот использованные флаги USE для компиляции vlc

[ebuild   R    ] media-video/vlc-2.2.1-r1:0/5-8::gentoo  USE="X a52 alsa avcodec avformat bluray cdda cddb dbus directfb dts dvbpsi dvd encode faad ffmpeg flac fontconfig gcrypt ieee1394 jpeg libass libsamplerate live matroska mp3 mpeg mtp ncurses ogg opengl png postproc qt5 run-as-root samba sdl svg swscale taglib theora truetype twolame udev upnp v4l vorbis vpx x264 x265 xcb xml xv -aalib (-altivec) -atmo (-audioqueue) -bidi -chromaprint -dc1394 -debug (-directx) -dvb (-dxva2) -fdk -fluidsynth -gme -gnome -gnutls -growl -httpd -jack -kate -kde (-libav) -libcaca -libnotify -libtar -libtiger -linsys -lirc -lua (-macosx-dialog-provider) (-macosx-eyetv) (-macosx-qtkit) (-macosx-quartztext) (-media-library) -modplug -musepack (-neon) -omxil -opencv -optimisememory -opus -projectm -pulseaudio -qt4 (-rdp) -rtsp -schroedinger -sdl-image -sftp -shout -sid -skins -speex {-test} -tremor -vaapi -vcdx -vdpau -vlm -vnc -wma-fixed -zeroconf -zvbi" CPU_FLAGS_X86="mmx sse" 20,450 KiB

Запуск

speaker-test -t wav -c 2

из консоли от моего пользователя в системе работает хорошо.

Вывод aplay -l и aplay -L

PauPC ~ # aplay -l
**** Список устройств воспроизведения ****
card 0: Intel [HDA Intel], device 0: ALC1200 Analog [ALC1200 Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 1: ALC1200 Digital [ALC1200 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

PauPC ~ # aplay -L
null
    Отбрасывать все образцы (воспроизведение) или генерировать нулевые образцы (запись)
default:CARD=Intel
    HDA Intel, ALC1200 Analog
    Устройство звука по умолчанию
sysdefault:CARD=Intel
    HDA Intel, ALC1200 Analog
    Устройство звука по умолчанию
front:CARD=Intel,DEV=0
    HDA Intel, ALC1200 Analog
    Передние колонки
surround21:CARD=Intel,DEV=0
    HDA Intel, ALC1200 Analog
    2.1 Сюрраунд вывод на передние и сабвуферные колонки
surround40:CARD=Intel,DEV=0
    HDA Intel, ALC1200 Analog
    4.0 Сюрраунд вывод на передние и задние колонки
surround41:CARD=Intel,DEV=0
    HDA Intel, ALC1200 Analog
    4.1 Сюрраунд вывод на передние, задние и сабвуферные колонки
surround50:CARD=Intel,DEV=0
    HDA Intel, ALC1200 Analog
    5.0 Сюрраунд вывод на передние, центральные и задние колонки
surround51:CARD=Intel,DEV=0
    HDA Intel, ALC1200 Analog
    5.1 Сюрраунд вывод на передние, центральные, задние и сабвуферные колонки
surround71:CARD=Intel,DEV=0
    HDA Intel, ALC1200 Analog
    7.1 Сюрраунд вывод на передние, центральные, боковые, задние и низкочастотные колонки
iec958:CARD=Intel,DEV=0
    HDA Intel, ALC1200 Digital
    IEC958 (S/PDIF) Цифровой выход звука

Вот мой alsa.conf

cat /etc/modprobe.d/alsa.conf 
# Конфигурационный файл модулей ядра Alsa.

# Часть ALSA
alias char-major-116 snd
# Часть OSS/Free
alias char-major-14 soundcore

##
## ВАЖНО:
## Вам необходимо настроить этот раздел для ваших конкретных звуковых карт
## и затем выполнить команду `update-modules`.
## Читайте файл INSTALL драйвера alsa в /usr/share/doc для получения дополнительной информации.
##
##  Часть ALSA
## alias snd-card-0 snd-interwave
## alias snd-card-1 snd-ens1371
##  Часть OSS/Free
## alias sound-slot-0 snd-card-0
## alias sound-slot-1 snd-card-1
##

alias snd-card-0 snd-hda-intel
alias sound-slot-0 snd-card-0

# Часть OSS/Free - карта #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
##  Часть OSS/Free - карта #2
## alias sound-service-1-0 snd-mixer-oss
## alias sound-service-1-3 snd-pcm-oss
## alias sound-service-1-12 snd-pcm-oss

alias /dev/mixer snd-mixer-oss
alias /dev/dsp snd-pcm-oss
alias /dev/midi snd-seq-oss

# Установите это значение в правильное количество карт.
options snd cards_limit=1
options snd-hda-intel id=Intel index=0

Это ненужный ~/.asoundrc, который я создал на всякий случай

$ cat .asoundrc 
defaults.pcm.!card Intel
defaults.pcm.!device 0
defaults.pcm.!ctl Intel

pcm.hda-intel {
        type hw
        card 0
        device 0
}

ctl.hda-intel {
        type hw
        card 0
        device 0
}

Моя материнская плата – Asus P6T, и вот вывод lspci |grep -i audio

 lspci |grep -i audio
00:1b.0 Устройство аудио: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller

cat /sys/class/sound/card*/id
Intel

Надеюсь, кто-то сможет помочь мне решить эту раздражающую проблему.

Спасибо!

Компиляция VLC media player 2.2.2 Weatherwax (revision 2.2.1-282-g863a425) решила проблему.

Ответ или решение

Проблема с определением/выбором выходного устройства звука в VLC: решение и рекомендации

Контекст проблемы

Вы столкнулись с проблемой при использовании VLC на чистой установке Funtoo. Несмотря на корректную настройку ALSA, VLC не может автоматически обнаружить или выбрать устройство вывода звука по умолчанию. Вы подтверждаете, что при выборе правильного устройства в настройках VLC звук воспроизводится корректно. Вы также предоставили информацию о версиях ПО и конфигурациях, которые могут иметь значение для решения данной проблемы.

Основные причины проблемы

  1. Версия VLC: У вас установлена версия VLC 2.2.1, которая может содержать ошибки или недостатки работы с ALSA. Часто в более поздних версиях разработчики устраняют различные баги и улучшают совместимость.

  2. Конфигурация ALSA: Версии ALSA могут различаться, и в вашей конфигурации могут присутствовать ошибки или несоответствия. Ваша .asoundrc и alsa.conf могут требовать корректировки.

  3. Интерфейс и зависимости: Ошибка, связанная с загрузкой модуля расширений в QT4, может указывать на отсутствие необходимых зависимостей или неправильно настроенный интерфейс.

Возможные решения

1. Обновление VLC

Сначала стоит попробовать обновить VLC до наиболее актуальной версии. Вы отметили, что обновление до версии 2.2.2 решило вашу проблему. Это свидетельствует о том, что ошибка, с которой вы столкнулись, была исправлена в более новой версии. Рекомендуется всегда поддерживать ваше программное обеспечение в актуальном состоянии, чтобы не сталкиваться с известными ошибками.

2. Проверка настроек ALSA

Убедитесь далее, что ваши настройки ALSA корректны. Вам стоит проверить и протестировать вашу конфигурацию. Пример конфигурации .asoundrc может быть следующим:

pcm.!default {
    type hw
    card 0
}

ctl.!default {
    type hw
    card 0
}

Ваша текущая .asoundrc может вызывать конфликты, если неверно настроены значения. Попробуйте удалить ~/.asoundrc и посмотреть, как это повлияет на работу VLC.

3. Установка зависимостей

Ошибка, связанная с «qt4 interface error: Unable to load extensions module», может указывать на отсутствие необходимых пакетов для работы VLC. Убедитесь, что у вас установлены все необходимые библиотеки, особенно те, что связаны с QT и пульсаudio:

sudo apt-get install libqt4-dev libqt4-xml libqt4-qt3support
sudo apt-get install pulseaudio

4. Использование PulseAudio

Если проблема сохраняется, вы можете рассмотреть возможность использования PulseAudio как звукового сервера, который может обрабатывать обучение и предпочтения к устройствам вывода звука лучше, чем стандартный ALSA. Убедитесь, что PulseAudio установлен и активен, а затем настройте VLC на использование PulseAudio:

  • Убедитесь, что в USE-флагах есть поддержка pulseaudio.
  • Переходите в настройки VLC и выберите в качестве устройства вывода: PulseAudio.

Заключение

Проблема с отсутствием автоматического определения выходного устройства звука в VLC может быть решена путем обновления до более новой версии, корректировки конфигураций ALSA и установки необходимых зависимостей. Не забывайте тестировать изменения по отдельности, чтобы определить, что именно приводит к улучшению. Ваша ситуация показывает, насколько важно поддерживать актуальность программного обеспечения и понимание его конфигураций.

Если у вас возникнут дополнительные вопросы или потребуется дальнейшая помощь, не стесняйтесь обращаться!

Оцените материал
Добавить комментарий

Капча загружается...