AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi PlayFunktion immer nur beim 2. Anlauf
Thema durchsuchen
Ansicht
Themen-Optionen

PlayFunktion immer nur beim 2. Anlauf

Ein Thema von DelphiUser7 · begonnen am 23. Okt 2003 · letzter Beitrag vom 24. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#1

PlayFunktion immer nur beim 2. Anlauf

  Alt 23. Okt 2003, 21:19
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 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'!!!
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:
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;
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...;

In diesem Sinne
DelphiUser7
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#2

Re: PlayFunktion immer nur beim 2. Anlauf

  Alt 24. Okt 2003, 07:03
Hallo Alex, benutze doch bitte die Delphi-Tags, dann kann man den Code auch besser lesen.
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#3

Re: PlayFunktion immer nur beim 2. Anlauf

  Alt 24. Okt 2003, 07:18
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;
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#4

Re: PlayFunktion immer nur beim 2. Anlauf

  Alt 24. Okt 2003, 07:27
Hättest Dein Posting auch editieren können Aber egal trotzdem danke
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#5

Re: PlayFunktion immer nur beim 2. Anlauf

  Alt 24. Okt 2003, 10:05
@ Alex_ITA01
Sorry, aber das hat leider nichts geholfen!; ;
Das kann doch nicht wahr sein, dass das jetzt nicht mehr so geht wie vorher! ;

DelphiUser7
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#6

Re: PlayFunktion immer nur beim 2. Anlauf

  Alt 24. Okt 2003, 10:21
poste mal deine proceduren mit, vielleicht ist da der Fehler !!!
einfach mal mitschiken denn bei mir gehts
alex
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#7

Re: PlayFunktion immer nur beim 2. Anlauf

  Alt 24. Okt 2003, 10:44
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 ;
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 ;
Play-Button
Delphi-Quellcode:
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;
, mehr fällt mir dazu jetzt nicht ein...doch, dieses OnCanClose-Ereignis von FileLoad1 (=> mein OpenDialog):
Delphi-Quellcode:
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;
DelphiUser7
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#8

Re: PlayFunktion immer nur beim 2. Anlauf

  Alt 24. Okt 2003, 10:59
sag mal wieso schließt du im Play Button den Mediaplayer?
If Mediaplayer1.Mode = mpOpen then Mediaplayer1.Close; der muss der open sein damit er auch spielen kann, denn dannach fragst du
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
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#9

Re: PlayFunktion immer nur beim 2. Anlauf

  Alt 24. Okt 2003, 17:26
Hat sich nichts geändert;
  Mit Zitat antworten Zitat
DelphiUser7

Registriert seit: 27. Aug 2003
179 Beiträge
 
#10

Re: PlayFunktion immer nur beim 2. Anlauf

  Alt 24. Okt 2003, 17:34
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 Uhr.
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