Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem mit Hinzufügen von neuem Song (https://www.delphipraxis.net/11185-problem-mit-hinzufuegen-von-neuem-song.html)

DelphiUser7 1. Nov 2003 16:30


Problem mit Hinzufügen von neuem Song
 
Hi,
wie kann ich machen, dass der TMediaPlayer weiterspielt, wenn ich einer PlayList (TListBox) eine neue Datei hinzufüge?;
mein Play-Button:
Delphi-Quellcode:
procedure TForm1.BitBtn1Click(Sender: TObject);
var a: integer;
begin
  If PlayL1.Items.Count = 0 then begin
      Mediaplayer1.FileName := FileLoad1.FileName;
    end else begin
      Mediaplayer1.FileName := PlayL1.Items.Strings[PlayL1.ItemIndex];
   end;
   if Mediaplayer1.Mode = mpPlaying then begin
    Mediaplayer1.FileName := PlayL1.Items.Strings[PlayL1.ItemIndex];
    Stunden := 0; Minuten := 0; Sekunden := 0;
    TimePanelMain.Caption := '00:00:00';
    Mediaplayer1.StartPos := 0;
    mediaplayer1.Play;
   end;
    myLabel.Enabled := true;
    myLabel.Caption := Mediaplayer1.FileName;
    mediaplayer1.Open;
    Mediaplayer1.Play;
    Timer1.Enabled := True;
   if Mediaplayer1.Position = mediaplayer1.EndPos then begin
    //a := PlayL1.ItemIndex;
    //a := a+1;
    //mediaplayer1.Play; //...Bau;
   end;
So füge ich Dateien hinzu:
Delphi-Quellcode:
procedure TForm1.FileChoseClick(Sender: TObject);
begin
 with FileLoad2 do begin
  FileLoad2.Filter := 'mp3-Files(*.mp3)|*.mp3|wav-Files(*.wav)|*.wav|midi-Files(*.mid)|*.mid';
   end;
  if FileLoad2.Execute then begin
   try
    if Mediaplayer1.Mode = mpOpen then begin
    newplaylist.Add(IntToStr(tracknr)+#9+extractFileName(fileLoad1.fileName));
    PlayL1.Items.Assign(newplaylist); end;
   except
    Exit;
   end;
 end;
end;
Gruss
DelphiUser7

Luckie 1. Nov 2003 16:37

Re: Problem mit Hinzufügen von neuem Song
 
Was machst du denn da mit der Mediaplayer-Komponente?
Delphi-Quellcode:
if Mediaplayer1.Mode = mpOpen then begin
Du willst doch nur einen Datei in die Listbox aufnehmen. Damit hat der Mediaplayer doch gar nichts am Hut.

scp 1. Nov 2003 16:46

Re: Problem mit Hinzufügen von neuem Song
 
Da du ja schon einen Timer hast würde ich folgendes in OnTimer einbauen:

Delphi-Quellcode:
if Mediaplayer1.Position = mediaplayer1.EndPos then begin
  Mediaplayer1.Close;
  If (PlayL1.ItemIndex < (PlayL1.Count - 1)) then begin
    Inc(PlayL1.ItemIndex);
    BitBtn1Click(Sender);
  end
  else
    Timer1.Enabled := false;
end;

Luckie 1. Nov 2003 16:52

Re: Problem mit Hinzufügen von neuem Song
 
ach er soll weiterspielen? Sorry, da hatte ich mich verlesen.

DelphiUser7 1. Nov 2003 16:59

Re: Problem mit Hinzufügen von neuem Song
 
Zitat:

Zitat von scp

Delphi-Quellcode:
if Mediaplayer1.Position = mediaplayer1.EndPos then begin
  Mediaplayer1.Close;
  If (PlayL1.ItemIndex < (PlayL1.Count - 1)) then begin
    Inc(PlayL1.ItemIndex); <------ //genau an dieser Stelle sagt er "Der linken Seite kann nichts
    //zugewiesen werden! 
    BitBtn1Click(Sender);
  end
  else
    Timer1.Enabled := false;
end;


DelphiUser7 1. Nov 2003 17:12

Re: Problem mit Hinzufügen von neuem Song
 
Noch etwas anzumerken: Sobald ich den neuen Song in die PlayList geladen habe, hört der Player nicht nur auf zu spielen, sondern, sobald ich dann noch mal auf 'Play' klicke, um den Spielvorgang fortzusetzen, zeigt er eine komische Exception an, die besagt, dass ich den PC neu starten soll, weil Windows das MCI nicht richtig initialisiert hat;

DELPHIUSER7

DelphiUser7 1. Nov 2003 17:33

Re: Problem mit Hinzufügen von neuem Song
 
:bouncing4: :bouncing4: Sorry, mein Fehler, selbst gelöst!!!!! :bouncing4: :bounce1:

DelphiUser7 1. Nov 2003 17:40

Re: Problem mit Hinzufügen von neuem Song
 
Nee, doch nicht, zu früh gefreut, das Problem existiert noch!;

Gandalfus 1. Nov 2003 18:25

Re: Problem mit Hinzufügen von neuem Song
 
Zitat:

Zitat von scp
Da du ja schon einen Timer hast würde ich folgendes in OnTimer einbauen:

Delphi-Quellcode:
if Mediaplayer1.Position = mediaplayer1.EndPos then begin
  Mediaplayer1.Close;
  If (PlayL1.ItemIndex < (PlayL1.Count - 1)) then begin
    Inc(PlayL1.ItemIndex);
    BitBtn1Click(Sender);
  end
  else
    Timer1.Enabled := false;
end;

Das ist zu ungenau die Zeit wir nicht bei allen mp3s richtig angezeigt.

scp 1. Nov 2003 18:28

Re: Problem mit Hinzufügen von neuem Song
 
Sorry:
Delphi-Quellcode:
Inc(PlayL1.ItemIndex);
muss durch
Delphi-Quellcode:
PlayL1.ItemIndex := PlayL1.ItemIndex + 1;
ersetzt werden.

Der andere Fehler kommt evtl. von Mediaplayer1.Close; , probiers stattdessen mal mit Mediaplayer1.Stop; oder lass beides weg.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 Uhr.
Seite 1 von 2  1 2      

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