Yanıtlar:
Tam bir cevap ile gelmek değil, bu konuda bazı düşünceler.
Donanım tarafına bir bakalım: şemalar ne yazık ki Pi B + için yararlı değil ve Pi2 için bile mevcut değil, bu yüzden şimdilik burada B Rev 2.1 ile sıkıştık.
Kulaklık jakının ses çıkışı PWM tarafından üretilir. Doğrudan BCM2835'in GPIO pinleri 40 ve 45'ten RC Low-pass filtresi ile. (Bkz. Şemalar , sayfa 2.)
Öte yandan HDMI üzerindeki sesin dijital olarak iletildiği varsayılmaktadır. Wikipedia : "Dijital ses için, bir HDMI aygıtında ses varsa, temel formatın uygulanması gerekir: stereo (sıkıştırılmamış) PCM." Ve aslında daha önce bahsedilen PWM tabanlı analog ses HDMI konektörüne beslenmez.
Şimdi bazı eski haberleri doğruladık: analog kulaklık jakı ve dijital HDMI. Benim bakış açımdan bu ikisinin ayrı ayrı ve bağımsız olarak ele alınması gerekir (aynı zamanda (yarı)). Şimdi PulseAudio
bir kaynaktan birden fazla ses donanımına akış yapabilmelidir. Hala bununla ilgili web'de neden hiçbir şey bulamadığımı merak ediyorum.
Ben de aynı şeyi yapabilmek isterdim. En azından, sonunda işbirlikçi gelişmeyi ümit eden bazı fikirlerle bu eğilime katkıda bulunmaya çalışıyorum.
Aklıma gelen şey, her biri bir sinyal yolu için paralel olarak yüklenmiş iki sürücü modülü örneği olabilir (ve olmalıdır). Bununla birlikte, bu, her biri bir ALSA cihazı (örnekteki HDMI için 0 ve örnekteki kulaklıklar için 3) oluşturan aşağıdaki ideal örnekte olduğu gibi bazı çekirdek modülü seviye parametrelerini gerektirir. Daha sonra birine ses diğerini diğerine ses gönderebilirsiniz (veya her ikisine de kopyalayabilirsiniz).
Snd_bcm2835 modül kaynak kodu ana sayfası için google denedim (basit yama fizibilitesini değerlendirmek için), ancak şans (ve zaman), bu yüzden şimdilik vazgeçtim. Birisi kaynağı bulur ve bağlantıya katkıda bulunursa, buna tekrar bakacağım.
NOT !!! Aşağıda çekirdek modülü yükleme komutlarının yalnızca ideal örneği verilmiştir. Gerçek Raspberry Pi yazılımında böyle bir parametre (AFAIK) mevcut değildir!
modprobe snd_bcm2835 out=hdmi alsa=0
modprobe snd_bcm2835 out=ear alsa=3