![]() |
PlayFunktion immer nur beim 2. Anlauf
Sorry, dass ich schon wieder poste, aber ich werd mit dem Problem hier echt nicht fertig:
Bei jedem 2. Aufruf von mediaplayer1.play wird dieser Befehl nicht ausgeführt, es sei denn ich habe vorher mediaplayer1.Stop ausgeführt :arrow: bei mir: den Stop-Button gedrückt; dann führt er eigenartiger Weise bei jedem 'Anlauf' mediaplayer1.play aus; Weiß einer von euch vielleicht, wie ich dieses Problem lösen kann?; ihr seid dann auch für einige Zeit von meinen Fragen 'befreit'!!! :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: Hier der Code von meinem Öffnen-Button, da ich annehme, dass es damit irgendwie zusammenhängt, denn der Fehler tritt ja nicht nur beim Betätigen des Play-Buttons auf, sondern wirklich wie schon beschrieben bei jeder Art der Ausführung von mediaplayer1.play;
Delphi-Quellcode:
Man könnte jetzt natürlich annehmen, dass das standardmäßig ist; ist es aber nicht, weiß auch nicht was ich da falsch gemacht haben könnte; auf jeden Fall ging es auch mal anders...;
procedure TForm1.BitBtn6Click(Sender: TObject);
begin with fileLoad1 do begin Filter := 'mp3-Files(*.mp3)|*.mp3|Wav-Files(*.wav)|*.wav|MIDI-Files(*.mid)|*.mid|Alle Audiodateien(*.mp3,*.wav,*.mid)|*.mp3;*.wav;*.mid'; end; if fileLoad1.Execute then begin Ticks; mediaplayer1.FileName := FileLoad1.FileName; mylabel.Enabled := true; myLabel.Caption := mediaplayer1.FileName; mediaplayer1.Open; TrackPane; newplaylist := TStringList.Create; c := PlayListBox.Items.Count; newplaylist.Add(Mediaplayer1.FileName); PlayListBox.Items.Clear; PlayListBox.Items.AddObject('PlayList001', newplaylist); PlayL1.Items.Count; if PlayL1.Items.Count = -1 then begin ClearSel1.Enabled := false; end else begin ClearSel1.Enabled := true; end; if not PlayL1.Items.Count = -1 then begin newplaylist.clear; newplaylist.Add(Mediaplayer1.fileName); end; PlayL1.Clear; PlayL1.Items.Assign(newplaylist); PlayListBox.ItemIndex := 0; PlayL1.ItemIndex := 0; ButtonsEnable; mediaplayer1.Play; Stunden:=0; Minuten:=0; Sekunden:=0; Timer1.Enabled := True; TimeBar.Enabled := true; end else begin Exit; end; end; In diesem Sinne DelphiUser7 |
Re: PlayFunktion immer nur beim 2. Anlauf
Hallo Alex, benutze doch bitte die Delphi-Tags, dann kann man den Code auch besser lesen.
|
Re: PlayFunktion immer nur beim 2. Anlauf
gute werde ich machen habs aber noch nie probiert als werde ich es mal testen
Delphi-Quellcode:
procedure TForm1.BitBtn6Click(Sender: TObject);
begin with fileLoad1 do begin Filter := 'mp3-Files(*.mp3)|*.mp3|Wav-Files(*.wav)|*.wav|MIDI-Files(*.mid)|*.mid|Alle Audiodateien(*.mp3,*.wav,*.mid)|*.mp3;*.wav;*.mid'; end; if fileLoad1.Execute then begin Ticks; //mediaplayer1.FileName := FileLoad1.FileName; mylabel.Enabled := true; myLabel.Caption := FileLoad1.FileName; <- //mediaplayer1.Open; TrackPane; newplaylist := TStringList.Create; c := PlayListBox.Items.Count; newplaylist.Add(FileLoad1.FileName); <- PlayListBox.Items.Clear; PlayListBox.Items.AddObject('PlayList001', newplaylist); PlayL1.Items.Count; if PlayL1.Items.Count = -1 then begin ClearSel1.Enabled := false; end else begin ClearSel1.Enabled := true; end; if not PlayL1.Items.Count = -1 then begin newplaylist.clear; newplaylist.Add(FileLoad1.FileName); <- end; PlayL1.Clear; PlayL1.Items.Assign(newplaylist); PlayListBox.ItemIndex := 0; PlayL1.ItemIndex := 0; ButtonsEnable; mediaplayer1.filename := FileLoad1.FileName; <- mediaplayer1.open; <- mediaplayer1.Play; Stunden:=0; Minuten:=0; Sekunden:=0; Timer1.Enabled := True; TimeBar.Enabled := true; end else begin Exit; end; end; |
Re: PlayFunktion immer nur beim 2. Anlauf
Hättest Dein Posting auch editieren können :roll: Aber egal trotzdem danke :thuimb:
|
Re: PlayFunktion immer nur beim 2. Anlauf
@ Alex_ITA01
Sorry, aber das hat leider nichts geholfen!; :roll: ; Das kann doch nicht wahr sein, dass das jetzt nicht mehr so geht wie vorher! :x ; DelphiUser7 |
Re: PlayFunktion immer nur beim 2. Anlauf
poste mal deine proceduren mit, vielleicht ist da der Fehler !!!
einfach mal mitschiken denn bei mir gehts alex |
Re: PlayFunktion immer nur beim 2. Anlauf
Wieso sollte der Fehler in den Proceduren liegen, allenfalls doch bei OnCreate, oder?; der Fehler muss allgemeiner ausfallen, sonst wäre es ja nicht überall der Fall :-D ;
Trotzdem, wenn du glaubst, es hilft dir bzw. mir, poste ich dir mal ein paar Sources, an denen es liegen könnte; denn meine ganze Datei ist ca. 800 Zeilen lang, also viel zu lang, um gepostet zu werden :mrgreen: :mrgreen: ; Play-Button
Delphi-Quellcode:
, mehr fällt mir dazu jetzt nicht ein...doch, dieses OnCanClose-Ereignis von FileLoad1 (=> mein OpenDialog):
procedure TForm1.BitBtn1Click(Sender: TObject);
var a: integer; begin If Mediaplayer1.Mode = mpOpen then Mediaplayer1.Close; 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.Length then begin mediaplayer1.Play; //...hier ist noch eine 'Baustelle' => s.o.: var 'a' end; end;
Delphi-Quellcode:
DelphiUser7
procedure TForm1.fileLoad1CanClose(Sender: TObject; var CanClose: Boolean);
begin try Mediaplayer1.FileName := FileLoad1.FileName; Mediaplayer1.Open; except Mediaplayer1.FileName := ''; ShowMessage('KEINE GÜLTIGE DATEI'); CanClose := false; end; end; |
Re: PlayFunktion immer nur beim 2. Anlauf
sag mal wieso schließt du im Play Button den Mediaplayer?
Delphi-Quellcode:
der muss der open sein damit er auch spielen kann, denn dannach fragst du
If Mediaplayer1.Mode = mpOpen then Mediaplayer1.Close;
Delphi-Quellcode:
if Mediaplayer1.Mode = mpPlaying then begin //<---- kann doch nicht reingehen wenn du vorher close machst
Mediaplayer1.FileName := PlayL1.Items.Strings[PlayL1.ItemIndex]; Stunden := 0; Minuten := 0; Sekunden := 0; TimePanelMain.Caption := '00:00:00'; Mediaplayer1.StartPos := 0; mediaplayer1.Play; end; so auf anhieb würde ich mal sagen liegt der fehler da, ich werde aber mal noch weitergucken ob was anderes falsch ist alex |
Re: PlayFunktion immer nur beim 2. Anlauf
Hat sich nichts geändert; :cry: :cry:
|
Re: PlayFunktion immer nur beim 2. Anlauf
Wie mir gerade aufgefallen ist, als ein Song zu Ende gespielt hatte, und als ich dann den nächsten gestartet habe, hat die PlayFunktion fehlerfrei funktioniert;
DelphiUser7 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz