Мне нужно отправить аудио одновременно через HDMI и разъем для наушников 3,5 мм. Я не смог ничего найти по этому поводу. Это вообще возможно?
raspbian
audio
raspbian-wheezy
Joker327
источник
источник
Ответы:
Не придумываю полный ответ, но некоторые мысли по этому вопросу.
Давайте посмотрим на аппаратную сторону: схемы, к сожалению, не полезны для Pi B + и даже недоступны для Pi2, поэтому мы застряли здесь с B Rev 2.1.
Аудиовыход на разъем для наушников генерируется с помощью ШИМ. Прямо от выводов 40 и 45 GPIO BCM2835 через фильтр низких частот RC. (См. Схему на стр. 2.)
С другой стороны, звук через HDMI предположительно передается в цифровом виде. Википедия гласит: «Для цифрового звука, если на устройстве HDMI есть аудио, необходимо реализовать базовый формат: стерео (без сжатия) PCM». И действительно, ранее упомянутый аналоговый звук на основе ШИМ не подается на разъем HDMI.
Итак, теперь мы проверили некоторые старые новости: аналоговый разъем для наушников или цифровой HDMI. С моей точки зрения, эти два вопроса должны рассматриваться отдельно и независимо, поэтому (квази) одновременно. Теперь
PulseAudio
должна быть возможность потоковой передачи из одного источника на несколько кусков звукового оборудования. Я до сих пор удивляюсь, почему в Интернете нечего найти по этому поводу.источник
Я хотел бы быть в состоянии сделать то же самое. По крайней мере, я пытаюсь внести свой вклад в эту тенденцию с некоторыми идеями, надеющимися на возможное совместное развитие.
Что приходит мне в голову, так это то, что может быть (и должно быть) два экземпляра модуля драйвера, загруженного параллельно, каждый для одного сигнального маршрута. Однако для этого потребуются некоторые параметры уровня модуля ядра, как в идеальном примере ниже, каждое из которых создает одно устройство ALSA (номер 0 для HDMI и 3 для наушников в образце). Затем вы можете послать один звук одному, а другой - другому (или скопировать оба).
Пытался зайти на главную страницу исходного кода модуля snd_bcm2835 (чтобы оценить выполнимость простого патча), но не повезло (и время), поэтому я сдался. Если кто-то найдет источник и предоставит ссылку, я еще раз посмотрю на это.
НОТА !!! Ниже приведен только идеальный пример команд загрузки модуля ядра. В реальном программном обеспечении Raspberry Pi таких параметров нет (AFAIK)!
источник