>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Firefox http://forum.mozilla-russia.org/viewforum.php?id=4 >Вывод звука через hdmi (Линукс) http://forum.mozilla-russia.org/viewtopic.php?id=76220 |
idos > 12-01-2021 13:40:00 |
Вопрос пользователям линукса. Имеется что-то подобное у firefox? |
banbot > 12-01-2021 15:29:41 |
idos > 16-01-2021 06:27:00 |
banbot пишет
Там нет решения, а только попытка найти его. |
FireForce > 16-01-2021 17:29:39 |
idos пишет
Такая возможность имеется. И не только для Firefox, а, вообще, для любого приложения. Делается это следующим образом. Создайте файл `.asoundrc` в домашнем каталоге и внесите в него инструкции приведенные ниже. .asoundrc Выделить код Код:# # ~/.asoundrc # ## # Ваша внутренняя звуковая карта # Узнайте номер карты, вызвав `aplay -l`. # pcm.internal { type hw card 0 } ## # Звуковая карта HDMI # Узнайте номер карты, вызвав `aplay -l`. # pcm.hdmi { type hw card 1 } ## # Далее вы можете задавать любое количество звуковых карт, # имеющихся у вас в наличии, присваивая им произвольные # уникальные идентификаторы. Эти идентификаторы впоследствии # вы будете использовать как значения для переменной `ALSAPCM` # и таким образом изменять звуковой вывод от конкретного # приложения. # # Например: # # ~~~~ # pcm.soundblaster { # type hw # card 3 # } # # pcm.usb_external { # type hw # card 4 # } # ~~~~ # # и т. д. # # В определениях звуковых устройств вместо номеров карт # (`card 0`, `card 1` и т. д.), вы можете использовать их # названия. Эти названия можно получить, вызвав `aplay -l`. # # ~~~~ # $ aplay -l # # **** List of PLAYBACK Hardware Devices **** # card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 Analog] # Subdevices: 1/1 # Subdevice #0: subdevice #0 # card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] # Subdevices: 1/1 # Subdevice #0: subdevice #0 # card 2: Pro [Sound Blaster X-Fi Go! Pro], device 0: USB Audio [USB Audio] # Subdevices: 1/1 # Subdevice #0: subdevice #0 # ~~~~ # # В приведенном выводе названиями будут являться `PCH`, `NVidia` и `Pro`. # То есть то, что после `card N:` и до открывающей квадратной скобки ([). # # Сами же определения примут следующий вид. # # ~~~~ # pcm.internal { # type hw # card PCH # } # # pcm.hdmi { # type hw # card NVidia # } # # pcm.usb { # type hw # card Pro # } # ~~~~ # # Названия — это более надежный способ идентификации # звуковых устройств, т. к. номера картам присваиваются # системой произвольно. # ## # Микшер # Нужен, чтобы можно было выводить звук одновременно из # разных приложений через одну звуковую карту. Без него # первое запущенное приложение будет владеть звуковой картой # единолично и не будет позволять выводить звук другим # приложениям, запущенным впоследствии. # pcm.mixer { type dmix ipc_key 1024 slave.pcm { @func getenv # Получить значение переменной `ALSAPCM` vars [ ALSAPCM ] # и выводить звук через устройство с # идентификатором равным данному значению. default internal # Если переменная `ALSAPCM` не задана, # выводить звук через `pcm.internal`, # т. е. через внутреннюю звуковую карту. } } ## # Настройка звуковой карты по умолчанию # Звук всегда будет выводиться через `pcm.mixer` и таким # образом несколько приложений смогут работать со звуковой # картой совместно. # pcm.!default { type plug slave.pcm mixer } ## # После добавления данного файла в домашний каталог или # после внесения в него изменений, выполнять каких-то # дополнительных действий, например перезагружать систему # или запускать какие-либо утилиты, чтобы настройки вступили # в силу не нужно. Всё подхватится автоматически. # После создания данного файла, у вас появится возможность произвольно задавать устройство вывода звука отдельно для каждого экземпляра любого приложения. Для этого вам необходимо предварять команду запуска присвоением значения переменной `ALSAPCM`. Рассмотрим пример запуска приложений. shell Выделить код Код:$ ALSAPCM=hdmi firefox -P foo $ ALSAPCM=hdmi firefox -P bar $ mpv video1.mkv $ mpv video2.mkv $ ALSAPCM=soundblaster mplayer video3.mkv $ ALSAPCM=usb_external mplayer video4.mkv В приведенном примере запущено два экземпляра Firefox с разными профилями. Для обоих экземпляров звук будет выводиться через звуковую карту HDMI. Также запущено два экземпляра медиаплеера mpv. При запуске, переменной `ALSAPCM` не было присвоено значения. Поэтому, звук будет выводиться через встроенную звуковую карту. В последних двух командах запущены два экземпляра медиаплеера mplayer. В первом случае звук будет выведен через устройство, которому вами должен был быть присвоен идентификатор `soundblaster`, а во втором — через устройство с идентификатором `usb_external`. (В файле `.asoundrc`, который я привел выше, данные идентификаторы не определены. Здесь я их привел лишь для того, чтобы показать, что данные идентификаторы могут быть заданы для дополнительных звуковых устройств и в дальнейшем использованы в командах запуска приложений.) Запущенные приложения будут выводить звук во-первых одновременно, не конкурируя друг с другом (поскольку мы определили микшер в файле `.asoundrc`), и во-вторых в точности на указанные звуковые устройства. |
idos > 16-01-2021 18:18:43 |
FireForce пишет
Зачем так усложнять? Разве без всяких asoundrc нельзя вот так развлекаться с mpv и с mplayer?: Выделить код Код:mplayer -ao alsa:noblock:device=hw=1.7 video4.mkv mpv --audio-device=alsa/hdmi:CARD=NVidia,DEV=1 video4.mkv Для прослушивания идеальный вариант и не надо никаких .asoundrc |
FireForce > 16-01-2021 18:36:30 |
idos Сложностей никаких нет. Настроить один раз по инструкции и потом пользоваться всю оставшуюся жизнь с любыми приложениями, вне зависимости от того есть в них выделенные настройки для выбора звукового устройства или нет. |
idos > 17-01-2021 10:04:42 |
Я неправильно обозвал тему. Надо было как-то так "Вывод звука, используя только опции фаерфокса (Линукс). FireForce, дело не в удобстве, а в наличии такой возможности как в хроме или в её отсутствии. Это всё, что хотел узнать. |