title image


Smiley Ich gebe es auf ...
... dir fehlt es am grudsätzlichem Verständnis.

denn der quellcode wird doch von oben nach unten abgearbeitet.

erst an, dann abspielen, dann aus.

das ist doch eigentlich die Rheienfolge wie ich es gecodet habe.



Lies einmal nach wie Events funktionieren. Da gibt es keine Reihenfolge im Quellcode.



Und ja, du kannst in deinem Fall auf MediaPlayer1.Notify := true verzichten.

Das sagt jedenfalls die Delphi-Hilfe (auch wenn du diese nicht lesen willst!):

Per Vorgabe agieren die Methoden Play und StartRecording so, als wäre Notify auf true gesetzt.



Hier nocheinmal das Grundgerüst ohne MediaPlayer.Notify:unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, MPlayer;



type

TForm1 = class(TForm)

MediaPlayer1: TMediaPlayer;

Button1: TButton;

Button2: TButton;

procedure MediaPlayer1Notify(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

public

end;



var

Form1: TForm1;

PlayCount: integer;



implementation

{$R *.dfm}



procedure TForm1.MediaPlayer1Notify(Sender: TObject);

begin

if MediaPlayer1.Mode = mpPlaying then begin

if PlayCount > 1 then begin

Dec(PlayCount);

MediaPLayer1.Play;

end else MediaPlayer1.Close;

end;

end;



procedure TForm1.Button1Click(Sender: TObject);

begin

MediaPlayer1.Close;

MediaPlayer1.FileName := 'c:\windows\media\ringin.wav';

PlayCount := 2;

MediaPlayer1.Open;

MediaPlayer1.Play;

end;



procedure TForm1.Button2Click(Sender: TObject);

begin

MediaPlayer1.Close;

MediaPlayer1.FileName := 'c:\windows\media\ringout.wav';

PlayCount := 4;

MediaPlayer1.Open;

MediaPlayer1.Play;

end;



end.



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: