AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Winamp: Liedwechsel in Delphi mitbekommen
Thema durchsuchen
Ansicht
Themen-Optionen

Winamp: Liedwechsel in Delphi mitbekommen

Ein Thema von Helmi · begonnen am 15. Dez 2008 · letzter Beitrag vom 14. Mai 2011
Antwort Antwort
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#1

Winamp: Liedwechsel in Delphi mitbekommen

  Alt 15. Dez 2008, 20:03
Hallo,

gibt es die Möglichkeit einen Liedwechsel in Winamp in Delphi mitzubekommen?
Falls ja, wie kann ich das auslesen?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
taaktaak

Registriert seit: 25. Okt 2007
Ort: Radbruch
1.990 Beiträge
 
Delphi 7 Professional
 
#2

Re: Winamp: Liedwechsel in Delphi mitbekommen

  Alt 16. Dez 2008, 07:23
Moin,
vermutlich ist das versionsabhängig, bei WinAmp 2.64 konnte man mit SendMessage den aktuellen Status abfragen:

Delphi-Quellcode:
Status:=SendMessage(HWNDWinAmp,WM_USER,0,104)
// Status=1 -> Play
// Status=3 -> Pause
// andere Werte = STOP
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Winamp: Liedwechsel in Delphi mitbekommen

  Alt 16. Dez 2008, 09:09
Hallo,

danke für den Tip!

Der funktioniert auch noch bei der neuesten Winamp-Version!
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von arc
arc

Registriert seit: 6. Nov 2009
Ort: Elbflorenz
62 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Winamp: Liedwechsel in Delphi mitbekommen

  Alt 14. Mai 2011, 12:01
Sorry, daß ich das Thema nochmal aufwärme aber es paßt so genial.

Ich möchte ebenfalls den Liedwechsel mitbekommen, zusätzlich aber noch den Namen des aktuellen Liedes. Ich habe bereits im Winamp Forum nachgefragt - dort reagiert seit 5 Tagen keiner. Durch die Boardsuche habe ich ebenfalls die Winamp DLL entdeckt, komme allerdings nicht so recht damit klar.

Ich arbeite hier mit einer 2.9er Winamp Version und das reicht auch vollkommen, da mein Plugin für meinen eigenen Gebrauch gedacht ist.

Soweit ich das aus diversen Anleitungen verstanden habe, muß man sich ein Stück Speicher reservieren und dann der Winamp API mitteilen, daß sie den Songtitel dort hineinkopieren soll?

Edit: Folgender Code funktioniert perfekt. Die erste Funktion ermittelt den Inhalt der Winamp Titelleiste - das entspricht idR dem Eintrag in der Playlist. Die zweite Funktion ermittelt den Dateinamen des aktuell abgespielten Stücks mit vollem Pfad. Ich hoffe es hilft jemandem!

Delphi-Quellcode:
function getWinampTitle:string;
const cMaxBuffer = 255;

var h:HWND;
    buffer:array[0..cMaxBuffer] of Char;
begin
  result:='';
  h:=FindWindow('Winamp v1.x', nil);
  if h<>0 then
  begin
    SendMessage(h, WM_GETTEXT, cMaxBuffer, integer(@buffer[0]));
    result:=buffer;
  end;
end;

function getWinampPlayListFile:string;
const WM_WA_IPC = WM_USER;
      IPC_GETPLAYLISTFILE = 211;
      IPC_GETLISTPOS = 125;

var h:HWND;
    s:PChar;
begin
  result:='';
  h:=FindWindow('Winamp v1.x', nil);
  if h<>0 then
  begin
    s:=PChar(SendMessage(h, WM_WA_IPC, SendMessage(h, WM_WA_IPC, 0, IPC_GETLISTPOS), IPC_GETPLAYLISTFILE));
    if s<>nil then result:=s;
  end;
end;

Geändert von arc (14. Mai 2011 um 13:34 Uhr)
  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 22:41 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