AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia MediaPlayer mit PosA and PosB setzen
Thema durchsuchen
Ansicht
Themen-Optionen

MediaPlayer mit PosA and PosB setzen

Ein Thema von D.J.Jelli · begonnen am 2. Aug 2010 · letzter Beitrag vom 2. Aug 2010
Antwort Antwort
Seite 1 von 2  1 2      
D.J.Jelli
(Gast)

n/a Beiträge
 
#1

MediaPlayer mit PosA and PosB setzen

  Alt 2. Aug 2010, 16:28
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.

Geändert von mkinzler ( 2. Aug 2010 um 16:35 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

AW: MediaPlayer mit PosA and PosB setzen

  Alt 2. Aug 2010, 16:33
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
Frederic Kerber
  Mit Zitat antworten Zitat
D.J.Jelli
(Gast)

n/a Beiträge
 
#3

AW: MediaPlayer mit PosA and PosB setzen

  Alt 2. Aug 2010, 16:40
OK Frederic

wet mirs merken nit offen so ofen zuschreiben.

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

D.J.Jelli
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: MediaPlayer mit PosA and PosB setzen

  Alt 2. Aug 2010, 16:43
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 )
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#5

AW: MediaPlayer mit PosA and PosB setzen

  Alt 2. Aug 2010, 16:45
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
Frederic Kerber
  Mit Zitat antworten Zitat
D.J.Jelli
(Gast)

n/a Beiträge
 
#6

AW: MediaPlayer mit PosA and PosB setzen

  Alt 2. Aug 2010, 16:57
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.

D.J.Jelli
  Mit Zitat antworten Zitat
D.J.Jelli
(Gast)

n/a Beiträge
 
#7

AW: MediaPlayer mit PosA and PosB setzen

  Alt 2. Aug 2010, 17:10
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.J.Jelli
  Mit Zitat antworten Zitat
D.J.Jelli
(Gast)

n/a Beiträge
 
#8

AW: MediaPlayer mit PosA and PosB setzen

  Alt 2. Aug 2010, 17:23
ich glaub es ist schwer zuverstehen
D.J.Jelli
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#9

AW: MediaPlayer mit PosA and PosB setzen

  Alt 2. Aug 2010, 17:24
Hi!

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

Eine Anmerkung gleich vorweg:

 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
Frederic Kerber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: MediaPlayer mit PosA and PosB setzen

  Alt 2. Aug 2010, 17:25
Auch in dieser Rubrik, sehen wir es nicht gerne, wenn man pusht!
Markus Kinzler
  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 13:52 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