Avatar billede gamer61 Nybegynder
04. maj 2003 - 13:58 Der er 17 kommentarer og
2 løsninger

Listbox med mp3 filer..........

Jeg skal lave et prg. Det er meningen at når programmet starter skal den vise indholdet af mappen musik i en listbox. Musik-mappen ligger sammen med programmets exe. Det skal så være muligt at klikke på en af filerne i listboxen så den bliver afspillet med windows mediaplayer.

Jeg håber i forstår hvad jeg mener.

På forhånd tak!
Avatar billede gamer61 Nybegynder
04. maj 2003 - 14:11 #1
Jeg kom lige i tanke om at det ville være bedre hvis at man kune markere en sang i listboxen og derefter trykke play på en mediaplayer der også er i formen.
Avatar billede gamer61 Nybegynder
04. maj 2003 - 15:01 #2
Nu har jeg fået listboxen til at vise mp3´filerne i mappen. Nu skal jeg bare have mediaplayeren til at spille dem.
Avatar billede hermandsen Juniormester
04. maj 2003 - 15:27 #3
ShellExecute(Handle, 'open', ListBox1.Items.Strings[ListBox1.ItemIndex], nil, nil, SW_SHOWNORMAL    );

//hermandsen
Avatar billede gamer61 Nybegynder
04. maj 2003 - 16:15 #4
[Error] Unit1.pas(51): Undeclared identifier: 'ShellExecute'

Hvad betyder det
Avatar billede gamer61 Nybegynder
04. maj 2003 - 16:21 #5
Nøeh jeg skulle bare tilføje shellapi under uses, men derefter får jeg denne error [Error] Unit1.pas(51): Incompatible types: 'String' and 'PChar' og den ved jeg ikke hvad jeg skal gøre ved
Avatar billede hermandsen Juniormester
04. maj 2003 - 16:45 #6
PChar() omkring ListBox1.Items.Strings[.........
Avatar billede gamer61 Nybegynder
04. maj 2003 - 16:47 #7
Nu kan den godt køre programmet men der sker ikke noget når man dobbeltklikker på en sang. Her er koden til hele programmet:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, MPlayer, Shellapi;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    MediaPlayer1: TMediaPlayer;
    procedure FormCreate(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1; sr: TSearchRec;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  if FindFirst('musik\*.*', 0, sr) = 0 then
  begin
    repeat
      ListBox1.Items.Add('Navn: ' + sr.Name + ' - '
      + ' ' );
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;
end;



procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
ShellExecute(Handle, 'open', Pchar(ListBox1.Items.Strings[ListBox1.ItemIndex]), nil, nil, SW_SHOWNORMAL);

end;

end.
Avatar billede stoney Nybegynder
04. maj 2003 - 17:09 #8
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
ShellExecute(Handle, 'open', Pchar(ListBox1.Items[ListBox1.ItemIndex]), nil, nil, SW_SHOWNORMAL);

end;

Stoney
Avatar billede gamer61 Nybegynder
04. maj 2003 - 17:13 #9
Stoney>> Er det ikke det samme som jeg har??
Med den kode jeg har posted kan man godt køre programmet. Det sker bare ikke noget når man dobbeltklikker på en fil.
Er der en der kan svare mig på hvorfor der kommer en error når jjeg køre programmet og mediaplayeren er sat til AutoOpen = True
Avatar billede stoney Nybegynder
04. maj 2003 - 17:22 #10
Nej, du har strings med.

Jeg har godt nok ikke testet, men det burde virke

Stoney
Avatar billede gamer61 Nybegynder
04. maj 2003 - 17:38 #11
>nåeh ok. Men der sker stadig ikke noget når man dobbletklikker.
Jeg kan stadig ikke figure out hvorfor jeg ikke kan få lov til at sætte Mediaplayerens Autoopen = true uden der kommer en error. Det er jo meningen at det er den mediaplayer på formen der skal afspille mp3´en......
Avatar billede gamer61 Nybegynder
04. maj 2003 - 18:38 #12
Er der ikke en der kan hjælpe mig med at få det til at funke
Avatar billede hermandsen Juniormester
04. maj 2003 - 19:00 #13
>>gamer61
Hvilket OS har du??
Mener kun det er XP der accepterer mp3-filer i TMediaPlayer!!
Avatar billede gamer61 Nybegynder
04. maj 2003 - 19:49 #14
Jeg har Win 2k. Hvad gør jeg så hvis jjeg skal spille mp3
Avatar billede gamer61 Nybegynder
04. maj 2003 - 19:53 #15
Det virker heller ikke at dobbeltklikke på en .wav fil. Hvad kan jeg gøre for at afspille de mp3filer
Avatar billede fixxxer Nybegynder
11. maj 2003 - 13:38 #16
gør du sådan her når du sætter filerne ind i Listbox'en >>

ListBox1.Items.Add('Navn: ' + sr.Name + ' - ' + ' ' ); ??

Så vil den jo forsøge at køre en fil med navnet : "Navn: musik\lyd.mp3", og jeg vil væde med at den ikke finde en fil med det navn :)
Avatar billede fixxxer Nybegynder
11. maj 2003 - 13:39 #17
erstat din formOncreate med det her:

  if FindFirst('musik\*.*', 0, sr) = 0 then
  begin
    repeat
      ListBox1.Items.Add(sr.Name);
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;
Avatar billede fixxxer Nybegynder
11. maj 2003 - 13:41 #18
i øvrigt kan win2k fint spille mp3 filer i mediaplayer, det er bare at hente de nyeste codecs
Avatar billede prodoc Nybegynder
20. maj 2003 - 16:55 #19
Jeg spurgte engang om det helt samme, kig her:
http://www.eksperten.dk/spm/239332
Jeg spurgte om flere spørgsmål på emnet, så hvis du mangler svar prøv at se de spørgsmål jeg har oprettet :)
/ProDoc
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