При работе с некоторыми TV-тюнерами, например с wintv hvr 950Q, в Ubuntu
наблюдаются проблемы со звуком. Каналы ловятся, но звука нет ни в одном
приложении. Решить проблему можно, организовав параллельное проигрывание звука
в фоне с ассоциированной с TV-тюнером звуковой карты.
Запускаем tvtime или другое приложение для работы с тюнером:
tvtime
Запускаем проигрывание звука. Если используется система alsa, поможет команда
arecord -D hw:1,0 -f S16_LE -c2 -r32000 | aplay -q -
Либо загружаем в PulseAudio модуль loopback:
pactl load-module module-loopback
В этом случае, возможно, так же нужно будет выбрать конкретный порт источника с
помощью pactl set-source-port.
В первом случае для прекращения перенаправления достаточно убить программу.
Во-втором - нужно будет выполнить pactl unload-module с номером загруженного
модуля (номер получите при загрузке).
Всё это можно запустить одной командой, на основе которой можно создать ярлык для запуска tvtime:
tvtime | arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -q -
А вот пример скрипта для запуска с помощью pulseaudio:
tvtime &
sleep 5
pactl set-source-port alsa_input.pci-0000_0d_00.0-usb-0_1.analog- stereo analog-input-video
pactl load-module module-loopback source="alsa_input.pci-0000_0d_00.0-usb-0_1.analog-stereo" source_dont_move=true
В последнем случае мы указываем конкретный источник
(alsa_input.pci-0000_0d_00.0-usb-0_1.analog-stereo) и указываем, что он не
должен меняться (source_dont_move=true).
Если в системе имеется несколько звуковых карт, то вместо "hw:1,0" может
потребоваться указать другое устройство, например, "hw:2,0". Список устройств
можно посмотреть командой:
arecord -l
Для pulseaudio список можно посмотреть командой
pactl list sources
или
pacmd list-sources
|