Hier ein Code aus einem Demo-Programm von mir, den ich hier irgendwo veröffentlicht habe. Abgespielt wird ein zufälliger Sound von zehn. Du müsstest es für deine Anforderungen anpassen. Außerdem spielt er nur Wavs ab.
Delphi-Quellcode:
procedure PlaySound2(SndName: String); //uses mmSystem
var
sl: TStringList;
i: Integer;
PathSnd, ExtSnd, FilePath: String;
begin
PathSnd := ExtractFilePath(ParamStr(0)) + FolderSnd1;
ExtSnd := '.wav';
sl := TStringList.Create;
try
for i := 0 to 9 do
begin
FilePath := PathSnd + SndName + IntToStr(i) + ExtSnd;
if FileExists(FilePath) then
sl.Add(FilePath);
end;
if sl.Count > 0 then
begin
FilePath := sl[Random(sl.Count)];
if FileExists(FilePath) then
mmSystem.PlaySound(PChar(FilePath), hInstance, SND_ASYNC or SND_FILENAME);
{Alternative - SndPlaySound(PAnsiChar(FilePath), SND_ASYNC )}
end;
finally
sl.Free;
end;
end;