Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
Delphi XE Professional
|
AW: Delphi 2010 / winamp
30. Dez 2010, 16:14
Versuch es mal hiermit:
Delphi-Quellcode:
procedure EnqueueAndPlay(Filename: string);
var
HWND: THandle;
ListLength: Integer;
WinampData: TCopyDataStruct;
begin
// Wir brauchen auf jedenfall ein laufendes Winamp. Dafür zuerst sorgen.
// Wenn es nicht existiert oder nicht gestartet werden konnte, dann hagelt es.
HWND := FindWindow('Winamp v1.x', nil);
if HWND = 0 then
begin
Exit;
end;
// Jetzt das laufende Winamp befehligen.
ListLength := SendMessage(HWND, WM_USER, 0, 124);
WinampData.dwData := IPC_PLAYFILEW;
WinampData.cbData := Length(Filename) * SizeOf(Char) + SizeOf(Char);
WinampData.lpData := PChar(Filename);
SendMessage(HWND, WM_COPYDATA, 0, Longint(@WinampData));
SendMessage(HWND, WM_USER, ListLength, 121);
SendMessage(HWND, WM_COMMAND, WINAMP_BUTTON4, 0);
SendMessage(HWND, WM_COMMAND, WINAMP_BUTTON2, 0);
end;
Du sorgst dafür, dass Winamp läuft, sonst passiert nichts. Dann rufst du die Funktion auf, mit einem Dateinamen als Parameter. Die Datei wird in Winamp ganz ans Ende eingereiht und direkt abgespielt. Dazu brauchst du noch die Datei, die ich hier im Anhang mitliefer.
HTH
|
|
Zitat
|