Forum: Mikrocontroller und Digitale Elektronik soundausgabe unter linux


von me (Gast)


Lesenswert?

Hallo miteinander
Ich habe ein Buffer mit Mp3 daten und möchte ihn unter Linux (Ubuntu) 
direkt an die Soundkarte des PC ausgeben und abspielen. Weiss jemand wie 
das geht?
Gibt es schon vordefinierte Funktionen für so etwas?

von Düsentrieb (Gast)


Lesenswert?

>Ich habe ein Buffer
?
ich habe kein glaskugel

von Εrnst B. (ernst)


Lesenswert?

Ich geh erstmal davon aus, dass du dein MP3 erst dekodieren willst, 
bevor das an die Soundkarte geht, sonst wird sich das recht seltsam 
anhören...

Wenns komplett innerhalb deines Programms ablaufen soll, nimm eine 
entsprechende Decoder-Library, z.B. libmad, xine-lib, etc.

Wenns auch über ein externes Programm laufen darf (VIEL einfacher zu 
implementieren!), nimm z.B "mpg321". Mit der Kommandozeilenoption "-" 
aufgerufen, spielt das MP3-Daten von STDIN ab.

in perl würd das in etwa so aussehen:
1
open(MP3HANDLE,'|/usr/bin/mpg321 -');
2
while (buffer_hat_daten) {
3
  print MP3HANDLE $stueck_vom_buffer;
4
}
5
close(MP3HANDLE);

In reinem C wirds etwas schwieriger, mit "dup","pipe", etc filehandle 
für STDIN erzeugen, fork(), exec "mpg321" im Child, im Parent Daten 
schreiben auf den Filehandle...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.