Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   MediaPlayer mit PosA and PosB setzen (https://www.delphipraxis.net/153426-mediaplayer-mit-posa-posb-setzen.html)

D.J.Jelli 2. Aug 2010 15:28


MediaPlayer mit PosA and PosB setzen
 
wer seinen Programmierten Delphi MediaPalyer erwetern will
um Zwei position (A & B) zusetzen.

Delphi-Quellcode:
unit Unit1;

....

type
  TA_B1 = record
    A1:Integer;
    B1:Integer;
    ZeitA: string;
    ZeitB: string;
end;

var
  A_B1: TA_B1;
  Zeit: string;

implementation

{$R *.dfm}

//------------------ Open and Wiedergabe ---------------------//
procedure TForm1.OpenButtonClick(Sender: TObject);
begin
  if opendialog1.Execute then
  Mediaplayer1.FileName := opendialog1.FileName;
  Mediaplayer1.open;
  PlayButtonClick(Form1);
  form1.LoopAB.checked := false;
end;

procedure TForm1.PlayButtonClick(Sender: TObject);
begin
  mediaplayer1.Play;
  timer1.ENABLED:=true;
end;

procedure TForm1.StopButtonClick(Sender: TObject);
begin
  mediaplayer1.Stop;
  mediaplayer1.Rewind;
end;

//------------------ Loop A B ---------------------//
procedure TForm1.PosAButtonClick(Sender: TObject);
begin
  begin
    if form1.LoopAB.checked = false then
    begin
      mediaplayer1.StartPos :=mediaplayer1.Position;
      A_B1.A1:=mediaplayer1.Position;
      A_B1.ZeitA:=Zeit+' - '+zeit+'00:00';
      Form1.PosAButton.enabled:=false;
      Form1.PosBButton.enabled:=True;
    end;
  end;
  if form1.LoopAB.checked = true then
  begin
    timer1.ENABLED:=true;
    mediaplayer1.StartPos:=mediaplayer1.Position;
    form1.LoopAB.checked:=false;
    Form1.PosAButton.enabled:=true;
    Form1.PosBButton.enabled:=False;
  end;
end;

procedure TForm1.PosBButtonClick(Sender: TObject);
begin
    mediaplayer1.EndPos := Mediaplayer1.Position;
    A_B1.B1:= mediaplayer1.Position;
    form1.MediaPlayer1.play;
    A_B1.ZeitB:=Zeit+' - '+Zeit+' - '+zeit;
    Form1.PosBButton.enabled:=False;
    Form1.PosAButton.enabled:=true;
    form1.LoopAB.checked:=true;
    timer1.ENABLED:=true;
end;

procedure TForm1.LoopABClick(Sender: TObject);
Begin
  begin
    if form1.LoopAB.checked = true then
    begin
      Mediaplayer1.StartPos:=A_B1.A1;
      Mediaplayer1.EndPos:=A_B1.B1;
      Form1.PosAButton.caption:= 'PosX';
   end;
  end;
  if form1.LoopAB.checked = false then
  begin
    mediaplayer1.startpos:=mediaplayer1.position;
    mediaplayer1.endpos:=mediaplayer1.length;
    form1.label1.Caption:='00:00 - '+Zeit+' - 00:00:0';
    mediaplayer1.Play;
    Form1.PosAButton.caption:= 'PosA';
  end;
end;

/// Timer muss false haben!
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   Zeit := FormatDateTime('nn:ss', MediaPlayer1.Position / 1000 / 86400);
    label1.Caption := FormatDateTime('nn:ss', A_B1.A1 / 1000 / 86400)+' - '+
                      zeit +' - '+
                      FormatDateTime('nn:ss', A_B1.B1 / 1000 / 86400);
  begin
    if form1.LoopAB.Checked = True then
    begin
      Mediaplayer1.StartPos:=A_B1.A1; Mediaplayer1.EndPos:=A_B1.B1;
      if (Mediaplayer1.EndPos div 50) = (Mediaplayer1.StartPos div 50) then
      Mediaplayer1.play;
      if (Mediaplayer1.Position div 50) = (Mediaplayer1.EndPos div 50) then
      Mediaplayer1.Play;
    end;
  end;
end;

end.

fkerber 2. Aug 2010 15:33

AW: MediaPlayer mit PosA and PosB setzen
 
Hallo und herzlich willkommen in der DP.

Bitte benutze unsere [delphi]-Tags, um deinen Code zu formatieren.

Außerdem solltest du ein paar Worte über das verlieren, was du hier für die CodeLib vorschlägst.


Liebe Grüße,
Frederic

D.J.Jelli 2. Aug 2010 15:40

AW: MediaPlayer mit PosA and PosB setzen
 
OK Frederic

wet mirs merken nit offen so ofen zuschreiben.

was hälts du den dafon was ich da porgramiert habe?

D.J.Jelli

mkinzler 2. Aug 2010 15:43

AW: MediaPlayer mit PosA and PosB setzen
 
Hallo D.J.Jelli,

Könntest du das in einer Sprache beschreiben, welche Herren und Damen im gesetztem Alter ( so ab 30) auch verstehen können.
Ich habe ehrlich gesagt nichts verstanden ( bin halt ein alter Sack :wink:)

fkerber 2. Aug 2010 15:45

AW: MediaPlayer mit PosA and PosB setzen
 
Hallo,

bevor ich irgendetwas zu dem Code sagen kann, müsste ich wissen, welchen Zweck er denn hat.
Daher bat ich um ein paar erklärende Worte.


Liebe Grüße,
Frederic

D.J.Jelli 2. Aug 2010 15:57

AW: MediaPlayer mit PosA and PosB setzen
 
OK Frederic

es gibt ja musik player da kann mann mitten im Lied eine Anfangs und eine Endposition setzen, da kamm mir der ideh mal sebst zuprogrammieren und dies ist dabei herausgekommen

man könnte ja sowas mit einbinden weil ja in den Mediaplayer StartPos und EndPos steht.:roll:

D.J.Jelli

D.J.Jelli 2. Aug 2010 16:10

AW: MediaPlayer mit PosA and PosB setzen
 
OK Frederic
es soll so functioniere mittenim Lied eine bestimmte A position setze und eine B position setzen, dadurch endsteht ein loop zwischen der A und B Postion das heist z.b. wenn ein guter Rhythmus in der Musik ist dan kann dies so Loopen.:-D:shock:

D.J.Jelli

D.J.Jelli 2. Aug 2010 16:23

AW: MediaPlayer mit PosA and PosB setzen
 
ich glaub es ist schwer zuverstehen:evil::evil:
D.J.Jelli

fkerber 2. Aug 2010 16:24

AW: MediaPlayer mit PosA and PosB setzen
 
Hi!

Aha, gut, dann habe ich so eine ungefähre Vorstellung.

Eine Anmerkung gleich vorweg:

Delphi-Quellcode:
 if form1.LoopAB.checked = false
Solche Vergleiche auf true/false sollte man nie machen. Man hat ja bereits eine boolesche Variable und sollte diese direkt nutzen.


Um ehrlich zu sein:
Zumindest in der jetzigen Form passt der Code meiner Meinung nach nicht gut in die CodeLibrary. Dazu gibt es mehrere Gründe - hauptsächlich wären dies die Tatsache, dass der Code nicht kommentiert ist, aber was schwerer wiegt ist die Tatsache, dass hier Code und Darstellung recht stark miteinander verknüpft sind.
Soll heißen: Der Code liegt quasi komplett in Onclick-Prozeduren und ist daher schlecht wiederverwendbar.



Bitte unterlasse es in Zukunft innerhalb kurzer Zeit (= weniger als 24h) zu Pushen - wir haben ja noch ein Leben außerhalb der DP.

Liebe Grüße,
Frederic

mkinzler 2. Aug 2010 16:25

AW: MediaPlayer mit PosA and PosB setzen
 
Auch in dieser Rubrik, sehen wir es nicht gerne, wenn man pusht!


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 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