Code: Alles auswählen
procedure PlaySound(sound : string);
var
phnd : TProcess;
begin
if FileExists(sound) then
begin
phnd := TProcess.Create(nil);
phnd.CommandLine := 'omxplayer --vol 600 -o local ' + sound;
phnd.Options := []; // keine
phnd.Execute; // Player starten
phnd.Free; // wieder freigeben, Sound wird trotzdem komplett abgespielt
end;
end;
Code: Alles auswählen
Audio codec mp3 channels 2 samplerate 44100 bitspersample 16
Subtitle count: 0, state: off, index: 1, delay: 0
have a nice day ;)
Randbedingungen sind:
- Es soll der osxplayer sein, weil ich bei dem einfach auf "local" (an der analogen KH-Buchse hängt die "Hausklingel" dran) Sound ausgeben kann, während der Standardsound auf "hdmi" (die Lautsprecher zum Monitor für Internetradio...) verbleiben kann.
- Das Programm muss während der Soundausgabe unbedingt weiterlaufen, es wird also nur der omxplayer gestartet und sofort im Hauptprogramm weitergemacht.
- Fehlermeldungen vom omsplayer können ignoriert werden. Ist der Sound nicht abspielbar oder die Datei nicht vorhanden ist das halt Pech.