Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Delphi 2010 / winamp (https://www.delphipraxis.net/157122-delphi-2010-winamp.html)

Davee 30. Dez 2010 14:46

Delphi 2010 / winamp
 
Hey leute ich bins nochmal

Delphi-Quellcode:
procedure TUhrzeit.Button1Click(Sender: TObject);
var
winamp, mp3file: String;
begin
  Winamp := 'C:\Program Files (x86)\Winamp\winamp.exe';
  mp3file := 'ACDC-hells-bells.mp3';
  ShellExecute(Handle, 'open', PChar(WinAmp),
    PChar('/ADD "' + mp3file + '"'), nil, SW_NORMAL);
end;
so das hier geht ja soweit.
also der mp3file wird in winamp geladen und an das ende der liste gesetzt
aber ich möchte den mp3file direckt abspielen
weiß einer evtl. den parameter um einem bestimmten titel in der winamp liste zu starten ? :?:
dann wär mein Silvester programm nämlich fertig ^^ :thumb:

Schonmal danke

wicht 30. Dez 2010 15:14

AW: Delphi 2010 / winamp
 
Liste der Anhänge anzeigen (Anzahl: 1)
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz