Avatar billede stefmeister Nybegynder
28. august 2003 - 19:26 Der er 14 kommentarer og
1 løsning

Winamp 3

Hejsa...
Er der nogen der ved hvordan man kan styrer Winamp3? For jeg ville lave et program der kan styrer min winamp, som har en lidt anden brugerflade en selve winamp! Skal det være en komponent man installere eller kan man nøjes med tekst?

Hvis det kan lade sig gøre, kan man så gøre det samme med Windows Media Player, så man kan stoppe, afspiller osv.?

På forhånd tak.

Steffen.
Avatar billede Slettet bruger
28. august 2003 - 19:59 #1
Prøv at søge efter winamp på www.torry.net mener der er nogle komponenter til at styre winamp.
Avatar billede prip10 Nybegynder
28. august 2003 - 20:22 #3
Hva gør det?!
Avatar billede kaper Nybegynder
28. august 2003 - 21:48 #4
Som der står er det en API wrapper for WinAmp og det kan gøre følgende (jeg har ikke testet det, da jeg ikke kan lide winamp):
    function getWhatsPlaying():String;
    function getSongState():String;
    function getSongPosition():String;
    function getSongLength():String;
    function getSongSampleRate():String;
    function getSongBitRate():String;
    function getSongChannels():String;
    function getPlayListPosition():String;
    function getPlayListLength():String;
    procedure getPlayList(var PlayList:TStringList;var FileList:TStringList);
    procedure PlaySong(Mp3Name:string);
    procedure AddToPlayList(Mp3Name:string);
    procedure Play();
    procedure Stop();
    procedure Pause();
    procedure NextTrack();
    procedure PreviousTrack();
    procedure Forward5Seconds();
    procedure Back5Seconds();
    procedure StartOfPlayList();
    procedure VolumeUp();
    procedure VolumeDown();
    procedure FadeOutStop();
Avatar billede bananjoe Nybegynder
28. august 2003 - 22:47 #5
jeg kunne ikke få den wrapper til at virke men jeg fandt et rigtig godt component på torry  her (http://www.torry.net/vcl/mmedia/other/jbtwactrl.zip)
Avatar billede stefmeister Nybegynder
29. august 2003 - 15:03 #6
Nogen der har noget der rent faktisk virker?
Det SKAL være til ----> WinAmp 3 <----
ikke andre versioner af WinAmp.
Avatar billede kaper Nybegynder
29. august 2003 - 15:38 #7
Den API wrapper virker altså fint...
http://www.sloppycode.net/sloppycode/Delphi/cm11.html
Der følger ovenikøbet et eksempel med
Avatar billede stefmeister Nybegynder
29. august 2003 - 17:19 #8
Jeg kan ikke få det til at virke....!
Avatar billede stefmeister Nybegynder
29. august 2003 - 17:46 #9
kan du ikke vise en sourcekode som virker?
Jeg bruger Delphi 7.
Avatar billede kaper Nybegynder
29. august 2003 - 20:58 #10
ok - jeg troede den virkede fint, men det var åbenbart fordi jeg brugte de simple kommandoer...
Man skal naturligvis huske at rette stierne i både "unit WinampApi" og eksemplet, der følger med... Desuden har jeg fundet ud af at Handlen's class name ikke er "winamp 1.x", men "STUDIO" (husk også at rette dette - ellers får man en fejl om at Winamp ikke kører)- dermed virker funktionerne, der bruger WM_USER (getPlayList, getSongState, getSongPosition, getSongLength, getSongSampleRate, getSongBitRate, getSongChannels, getPlayListPosition, getPlayListLength)... Så mangler kun de vigtigste funktioner :D

Nej - det er nok bare mig, der klovner i det... WM_COMMAND er simplere at benytte, men jeg kan ikke lige få det til at virke.
Avatar billede kaper Nybegynder
29. august 2003 - 21:35 #11
Jeg fandt ud af at man ikke længere kan benytte fx 40045 for at trigge Play-funktionen... Derimod kan man benytte den simple metode...
I stedet for

procedure TWinampApi.Play();
begin
  SendMessage(WinampHnd, WM_COMMAND, 40045, 0);
end;

kan man jo bruge

procedure TWinampApi.Play();
begin
    SendMessage(WinampHnd, WM_KEYDOWN, VkKeyScan('x'), 0);
    SendMessage(WinampHnd, WM_CHAR, VkKeyScan('x'), 0);
    SendMessage(WinampHnd, WM_KEYUP, VkKeyScan('x'), 0);
end;

Nu virker det hele :D
Avatar billede stefmeister Nybegynder
30. august 2003 - 01:43 #12
kan sq stadig ikke få det til at virke....
Nu popper Delphi op med en masse fejl.
Før kunne jeg godt have hele den der source kode med alle procedurene osv. men nu skriver den --> "Unsatisfied forward or external declaration: 'TForm1.Play'" eller lign.

Ved ikke hvad der er galt.
Avatar billede kaper Nybegynder
30. august 2003 - 02:32 #13
Har du husket at tilføje komponenten winampapi, efter at du har rettet i filen?
Jeg fandt ud af at jeg også blev nødt til at slette winampapi.dcu/.pas fra test-folderen ellers vil den benytte dén i stedet for den rigtige...
Avatar billede kaper Nybegynder
30. august 2003 - 12:05 #14
og husk at enten skal winamp.exe rettes til winamp3.exe eller også skal du omdøbe filen. Jeg valgte at installere winamp i "program files" og omdøbe filen. Derved var jeg fri for at rette i filerne ud over findwindow, der skal lede efter "STUDIO" i stedet for "winamp 1.x" - Du kan i øvrigt bruge winsight 32 til at bestemme class name ifald du benytter en anden version af winamp3
Avatar billede stefmeister Nybegynder
14. januar 2004 - 19:49 #15
kan ikke få det til at virke... gider ikke gøre mere ved det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester