Code: Alles auswählen
sndPlaySound(PChar(LazarusResources.Find(aWaveFile).Value),snd_async or snd_memory);
Code: Alles auswählen
with TProcess.Create(nil) do
try
CommandLine:='/usr/bin/paplay "'+aWaveFile+'"';
Execute;
finally
Free;
end;
Code: Alles auswählen
sndPlaySound(PChar(LazarusResources.Find(aWaveFile).Value),snd_async or snd_memory);
Code: Alles auswählen
with TProcess.Create(nil) do
try
CommandLine:='/usr/bin/paplay "'+aWaveFile+'"';
Execute;
finally
Free;
end;
Code: Alles auswählen
procedure sound_abspielen(filename : string; faktor_lautstaerke : real);
var AProcess: TProcess;
kommando : string;
begin
kommando := 'play -q -v ' + floattostr(faktor_lautstaerke) + ' ' + filename ;
AProcess := TProcess.Create(nil) ;
AProcess.CommandLine := kommando;
AProcess.Execute;
end;
Das wäre sicher der Königsweg, aber weil doch ein bisschen kompliziert reicht es vllt. auch die Ressource erstmal in ein Temp-File zu speichern und bei Programmende alles zu löschen (falls man nicht auf das Ende des externen Prozesses warten kann).Hitman hat geschrieben:Schau doch mal, ob eins der Programme vlt. von stdin abspielen kann, dann könntest du den Inhalt der Resource dort hin pipen.