Autor Beitrag
gerd8888
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 205
Erhaltene Danke: 3

Win7
Delphi 10.1 Starter (kostenlos) Lazarus
BeitragVerfasst: Mo 14.09.15 18:29 
Hallo,

ich möchte gerne mein Video bei mediaplyer1 automatisch zum Zeitpunkt x zum stoppen bringen. Da habe ich eine Datei, die angibt, nach welchen Sekunden er im momentan Video zu stoppen hat.
Beispiel:
x=
5 Sek
20 Sek
50 Sek
usw.

Ich benutze einen timer1 um die trackbar des videos anzuzeigen. der timer1 wird alle 1 sek aufgerufen.
In diesem timer1 will ich nun meinen mediaplayer1 nach der datei immer abfragen und es soll stoppen.
Da die mediaplayer1.position jetzt nicht genau 5000 = 5 Sek. ist, muss ich den Bereich zwischen >5000 und < 6000 wählen.
Hier ein Beispiel wenn es aussieht, wenn es nach 5 Sek stoppen soll.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
if sender=timer1 then begin  
  if mediaplayer1.position>5000 then if mediaplayer1.position < 6000 then begin
      zustand:=pause;
      mediaplayer1.stop;
  end;
end;


Was mich stört, dass wenn ich danach wieder das Video laufen lassen will er ganz langsam 5005.. 5020..5100 usw. jeweils immer stoppt.
Überhaupt scheint das nicht die beste Lösung zu sein. Was Tun?
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 14.09.15 22:21 
Moin!

Ansatz: (ungetestet runtergetippt)
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
var
  Stoppzeit: array of Integer;
  Zeiger: Integer;

begin
  SetLength(Stoppzeit, 3);
  Stoppzeit[0] := 5;
  Stoppzeit[1] := 20;
  Stoppzeit[2] := 50;
  Zeiger := 0;

begin
  if (Sender = Timer1) and (Zeiger <= High(Stoppzeit)) and (MediaPlayer1.Position >= Stoppzeit[Zeiger]) then begin
    MediaPlayer1.Stop;
    Inc(Zeiger);
  end;

Was auch immer du da tust... :?

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
gerd8888 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 205
Erhaltene Danke: 3

Win7
Delphi 10.1 Starter (kostenlos) Lazarus
BeitragVerfasst: Mo 14.09.15 22:53 
Hallo Narses,

ich habe mir auch schon überlegt, ob ich den array[0..3} nicht mit false belege. Das macht jetzt Dein Zeiger. Ich habe es gerade eingebaut und es funktioniert.
Den Zeiger setzte ich zum Schluss und am Anfang des Videos auf 0. Nur wenn ich mitten im Video mit der Trackbar ein bischen zurückspule greift der Zeiger logischerweise nicht mehr. Aber das ist nicht so schlimm und hat auch irgendwie einen Nutzen. Denn an dieser Stelle, wo man das Video schon mal gestoppt hat, will man es bestimmt nicht ein zweites mal stoppen.

besten Dank
Gerd
gerd8888 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 205
Erhaltene Danke: 3

Win7
Delphi 10.1 Starter (kostenlos) Lazarus
BeitragVerfasst: Sa 31.10.15 15:43 
Ich hoffe, mir ist die Umsetzung gut gelungen.
Habe nun die Videofunktion in mein Programm eingefügt:
youtu.be/RmGjF-4HZr0

Warum ist eigentlich die Videoqualität etwas schlechter, wenn ich das Video mit dem mediaplayer laufen lasse, als beispielsweise ein windows mediaplayer?
(Ich gestalte meine Videos in wmv)

Gerd
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 31.10.15 18:18 
Es gibt 3 Versionen von WMV:
de.wikipedia.org/wiki/Windows_Media_Video

Ich würde es nicht nehmen.
gerd8888 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 205
Erhaltene Danke: 3

Win7
Delphi 10.1 Starter (kostenlos) Lazarus
BeitragVerfasst: Sa 31.10.15 21:10 
Ich war damals froh, dass es eine kostenlose Videosoftware von Microsoft mit wmv gab. Und finde sie auch heute gar nicht so schlecht.
Was mich allerdings damals gestoert hat, dass bei der Installation von Microsoft Essential oder so aehnlich mehrere Programme von Microsoft drauf waren. Ich habe nur ein Häkchen auf Windows Movie Maker gemacht und bekamm dann doch alle Programme auf meinen Rechner. Natürlich hat sich auch mein ganzes Betriebssystem verbogen und meinen Browser erkannte ich nicht wieder.

Jetzt steht bald Weihnachten vor der Tür und ich wünsche mir da das pinnacle Studie für ca. 35,-EUR. Wurde von meinen Freunden und von diversen Zeitung gelobt.
Ich mache im jahr so ca. 20 Schach-Videofilme und da glaube ich lohnt sich langsam diese Investition.

Gerd