Hem kulaklık jakına hem de HDMI'ya aynı anda ses nasıl gönderilir?


Yanıtlar:


7

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 PulseAudiobir kaynaktan birden fazla ses donanımına akış yapabilmelidir. Hala bununla ilgili web'de neden hiçbir şey bulamadığımı merak ediyorum.


Ayrı ayrı ele alınması gerektiğini kabul ediyorum, bir ahududu pi üzerinde çalıştığım biri tarafından soruldum ve bunu yapmak istediler, onlara mümkün olduğuna inanmadığımı açıkladım, ancak doğrulamak zorunda kalacağım Ben hakkında daha fazla şey bilen başkaları ile
Joker327

3

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

Merhaba ve hoşgeldin! Ben de (dürüst olmak gerekirse, hiçbir gerçek yaşam kullanımı için özellikle;)
işe almak ilginizi çekecektir
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.