Вопрос пользователям линукса.
В хромиуме запросто можно вывести звук, скажем так не на дефолтное устройство, например,
Имеется что-то подобное у firefox?
Отредактировано idos (12-01-2021 13:40:27)
Отсутствует
Do you feel lucky, punk?
Отсутствует
https://unix.stackexchange.com/question … lsa-device
Там нет решения, а только попытка найти его.
alsa env не дало результатов.
asound.conf или .asoundrc - это не то, что мне нужно.
Отсутствует
Вопрос пользователям линукса. В хромиуме запросто можно вывести звук, скажем так не на дефолтное устройство. Имеется что-то подобное у firefox?
Такая возможность имеется. И не только для Firefox, а, вообще, для любого приложения.
Делается это следующим образом.
Создайте файл `.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`.
Рассмотрим пример запуска приложений.
$ 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`), и во-вторых в точности на указанные звуковые устройства.
Отсутствует
$ mpv video1.mkv
$ mpv video2.mkv
$ ALSAPCM=soundblaster mplayer video3.mkv
$ ALSAPCM=usb_external mplayer video4.mkv
Зачем так усложнять? Разве без всяких 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
Подобное ищу для фаерфокса без всяких asoundrc и т.п.
В конце концов есть asoundconf-gtk. Меня интересует есть ли подобная фича у фаерфокса как у хромиума?
Отредактировано idos (16-01-2021 18:21:27)
Отсутствует
idos Сложностей никаких нет. Настроить один раз по инструкции и потом пользоваться всю оставшуюся жизнь с любыми приложениями, вне зависимости от того есть в них выделенные настройки для выбора звукового устройства или нет.
Отсутствует
Я неправильно обозвал тему. Надо было как-то так "Вывод звука, используя только опции фаерфокса (Линукс).
FireForce, дело не в удобстве, а в наличии такой возможности как в хроме или в её отсутствии. Это всё, что хотел узнать.
Отсутствует