Jak pobrać z Winapa i WMP lokalizację i czas w ms?

0

Za pomocą jakich procedur można pobrać do programu czas danej ścieżki w Winampie i WMP w ms oraz lokalizację pliku odtwarzanego (mp3: C:\aaa\aaa.mp3)?

0

No dobrze, znalazłem taki kod i działa:

edit1.text := IntToStr(SendMessage(hwnd_winamp,WM_USER,0,105));

A jak pobrać lokalizację? codzi mi o C:\aaa\aaa.mp3

0

poszukaj jeszcze na tej stronce:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=433&lngWId=7

tam powinno być

0
    function TWinampApi.getWhatsPlaying():String;
    var
    TitleLen: integer;
    TempInt : Integer;
    TempStr: String;
    begin
    TempStr := \'Winamp isn\'\'t running\';
    if WinampHnd <> 0 then
    begin
    // Get wHnd text
    TitleLen := GetWindowTextLength(WinampHnd)+2;
    SetLength(TempStr,TitleLen);
    GetWindowText(WinampHnd,Pchar(TempStr),TitleLen);
    SetLength(TempStr,Length(TempStr));
    // Remove \'- Winamp\' part
    TempInt := Pos(\'- Winamp\',TempStr);
    TempStr := Copy(TempStr,0,TempInt -2); // Knock of space and -
    end;

ale to nie jest to, ten kod pobiera tytuł piosenki z podpisu winampa na menu start.

0

Rób wcięcia w kodzie - bo piszesz zupełnie nieczytelnie. Pisz tak jak w Wordzie - dawaj spacje po przecinkach i znakach takich jak +, -.

function TWinampApi.getWhatsPlaying():String;
var
  vTitleLen : Integer;
  vTempInt : Integer;
  vTempStr : String;
begin
  vTempStr := \'Winamp isn\'\'t running\';
  if WinampHnd <> 0 then
  begin
    // Get wHnd text
    vTitleLen := GetWindowTextLength(WinampHnd) + 2;
    SetLength(vTempStr, vTitleLen);
    GetWindowText(WinampHnd, Pchar(vTempStr), vTitleLen);
    SetLength(vTempStr, Length(vTempStr));
    // Remove \'- Winamp\' part
    vTempInt := Pos(\'- Winamp\', vTempStr);
    vTempStr := Copy(vTempStr, 0, vTempInt - 2);  (...)

1 użytkowników online, w tym zalogowanych: 0, gości: 1