AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Notify Prozedur für TMediaPlayer lässt Programm hängen.
Thema durchsuchen
Ansicht
Themen-Optionen

Notify Prozedur für TMediaPlayer lässt Programm hängen.

Ein Thema von Trush · begonnen am 3. Mär 2004 · letzter Beitrag vom 7. Mär 2004
Antwort Antwort
Trush

Registriert seit: 3. Feb 2004
18 Beiträge
 
#1

Notify Prozedur für TMediaPlayer lässt Programm hängen.

  Alt 3. Mär 2004, 20:30
Hallo,

beim Aufrufen des Programms, sollen nacheinander drei Midis abgespielt werden. Mit wait:=true funktioniert dann die nächsten 10min gar nichts mehr, geht also nicht. Dann wollte ich mit hilfe von notify:=true ein OnNotify Ereignis aufrufen und mit einer globalen Variable i vom Typ integer prüfen, die wievielte Midi bereits gespielt wurde. Das Problem ist nur, dass nach dem ersten abspielen, wenn also das erste mal die Prozedur für OnNotify aufgerufen wird, dann hängt sich das Programm auf. Liegt das Problem an einem Programmierfehler oder ist die Idee komplett unbrauchbar für dieses Problem?

Code gibt's natürlich auch:
Delphi-Quellcode:
procedure TForm2.FormCreate(Sender: TObject);
begin
  with Mediaplayer1 do
  begin
    FileName:= ExtractFilePath(ParamStr(0))+'Midi1.mid'; {Da die Midi files alle im selben Ordner wie das Programm liegen benutze ich ExtractFilePath(ParamStr(0)) um den Speicherort der Exe einzufügen, dass dies funktioniert sieht man ja daran, dass die erste Midi abgespielt wird.}
    Open;
    Play;
    i:=0;
    Notify:=true;
    Close;
  end;
end;

procedure TForm2.MediaPlayer1Notify(Sender: TObject);
begin
  if i=0 then
    begin;
      with Mediaplayer1 do
        begin;
          FileName:=ExtractFilePath(ParamStr(0))+'Midi2.MID';
          Open;
          Play;
          i:=1;
          Notify:=true;
          Close;
        end;
    end
  else if i=1 then
    begin;
      with Mediaplayer1 do
        begin;
          FileName:=ExtractFilePath(ParamStr(0))+'Midi3.Mid';
          Open;
          Play;
          Close;
        end;
    end;
end;
Vielen Dank für die Hilfe
Trush
  Mit Zitat antworten Zitat
Trush

Registriert seit: 3. Feb 2004
18 Beiträge
 
#2

Re: Notify Prozedur für TMediaPlayer lässt Programm hängen.

  Alt 7. Mär 2004, 19:51
AHHHHHHHHHHHH,

manchmal sieht man den Wald vor lauter Bäumen nicht. Man kann den FileName natürlich erst ändern, wenn man den Mediaplayer vorher beendet hat!

Wenn die Notify-Prozedur aufgerufen wird, als erstes folgende Zeile einfügen:
If Mediaplayer1.Mode = mpOpen then Mediaplayer1.close;

Ansonsten bleibt alles beim alten.

Gruß
Trush
  Mit Zitat antworten Zitat
Antwort Antwort


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:48 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