Come inviare l'audio a ENTRAMBE il jack per cuffie e HDMI contemporaneamente?


Risposte:


7

Non venire con una risposta completa, ma alcuni pensieri su questo argomento.

Diamo un'occhiata al lato hardware: gli schemi purtroppo non sono utili per il Pi B + e nemmeno disponibili per il Pi2, quindi per ora siamo bloccati con B Rev 2.1.

L'uscita audio del jack per cuffie è generata da PWM. Direttamente dai pin GPIO e BC 40 e 45 del BCM2835 attraverso un filtro passa-basso RC. (Vedi schemi , pagina 2.)

D'altra parte, l'audio sull'HDMI è presumibilmente trasmesso in digitale. Wikipedia afferma: "Per l'audio digitale, se un dispositivo HDMI ha audio, è necessario implementare il formato di base: PCM stereo (non compresso)". E in effetti l'audio analogico PWM precedentemente citato non viene inviato al connettore HDMI.

Quindi ora abbiamo verificato alcune vecchie notizie: jack per cuffie analogiche vs HDMI digitale. Dal mio punto di vista questi due dovrebbero essere affrontati separatamente e indipendentemente, quindi anche (quasi) contemporaneamente. Ora PulseAudiodovrebbe essere in grado di eseguire lo streaming da una sorgente a più componenti hardware audio. Mi chiedo ancora perché non ci sia nulla da trovare sul web al riguardo.


Sono d'accordo che dovrebbero essere affrontati separatamente, mi è stato chiesto da qualcuno per cui sto lavorando a un lampone pi e mi hanno chiesto di farlo, ho spiegato loro che non credevo che fosse possibile, ma avrei dovuto verificare con altri che ne sanno di più di me.
Joker327,

3

Mi piacerebbe poter fare anche la stessa cosa. Almeno provo a contribuire a questa tendenza con alcune idee sperando in un eventuale sviluppo cooperativo.

Quello che mi viene in mente è che forse potrebbero (e dovrebbero) esserci due istanze del modulo driver caricate in parallelo, ognuna per un percorso di segnale. Tuttavia, ciò richiederebbe alcuni parametri a livello di modulo del kernel come nell'esempio ideale di seguito, ognuno dei quali crea un dispositivo ALSA (numero 0 per HDMI e 3 per auricolari nell'esempio). È quindi possibile inviare un suono all'uno e l'altro all'altro (o copiarlo ad entrambi).

Ho provato a google per la homepage del codice sorgente del modulo snd_bcm2835 (per valutare la fattibilità della semplice patch), ma senza fortuna (e tempo), quindi ho rinunciato per ora. Se qualcuno trova la fonte e contribuisce al collegamento, lo esaminerò di nuovo.

NOTA !!! Il seguente è solo un esempio ideale dei comandi di caricamento del modulo kernel. Nel software Raspberry Pi attuale non esistono tali parametri (AFAIK)!

modprobe snd_bcm2835 out=hdmi alsa=0
modprobe snd_bcm2835 out=ear alsa=3

Ciao e Benvenuto! Sarei anche interessato a far funzionare tutto questo (beh, a dire il vero, per nessun uso della vita reale in particolare;))
Ghanima
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.