Einzelnen Beitrag anzeigen

Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#2

AW: Delphi 2010 / winamp

  Alt 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
Angehängte Dateien
Dateityp: pas WAmpMsg.pas (10,5 KB, 4x aufgerufen)
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat