AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi 2010 / winamp

Ein Thema von Davee · begonnen am 30. Dez 2010 · letzter Beitrag vom 30. Dez 2010
Antwort Antwort
Davee

Registriert seit: 28. Dez 2010
7 Beiträge
 
Delphi 2010 Professional
 
#1

Delphi 2010 / winamp

  Alt 30. Dez 2010, 15:46
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 ^^

Schonmal danke
Dave
  Mit Zitat antworten Zitat
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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz