Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Firemonkey: MediaPlayer und Loops (https://www.delphipraxis.net/181722-firemonkey-mediaplayer-und-loops.html)

onepiecefreak2 4. Sep 2014 20:47

Firemonkey: MediaPlayer und Loops
 
Na hallo :)

Ich dachte mir, ich frage euch ob ihr eine Idee habt, wie man Loops mit der TMediaPlayer Komponente von Firemonkey macht?
Es gibt ja leider kein OnNotify-Event für die Komp. in FMX.

Hmm... Ich benutze RAD Studio XE5 auf Windows 7 64bit.

Joa, was könnte man dazu noch mehr sagen? Ich denke, vielen Dank für die Hilfe :)

onepiecefreak2 5. Sep 2014 12:19

AW: Firemonkey: MediaPlayer und Loops
 
Wirklich? Niemand?

[EDIT]: "Lösung"

Hauptsächlich braucht man folgendes: Einmal die TMediaPlayer-Komponente und einen TTimer, am besten auf Interval=1 gestellt.

Das hier packt ihr in den Timer:
Delphi-Quellcode:
time:=MediaPlayer1.CurrentTime DIV MediaTimeScale;  //CurrentTime gibt die Laufzeit der Datei an. Diese wird in (laut Wiki) 100er ns angegeben. Um sie in Sekunden zu verwandeln teilen wir sie durch MediaTimeScale (der "Umrechnungsvariable" von ns in sek beim Mediaplayer)

if time=(MediaPlayer1.Media.Duration DIV MediaTimeScale) then begin  //Media.Duration gibt die maximale Länge der Datei an. Heißt, wenn Datei vorbei, dann führe folgendes aus.
  MediaPlayer1.Clear;                           //Das löscht alle Angaben des Mediaplayers
  MediaPlayer1.FileName:='test.mp3';            //Gibt die abzuspielende Datei an. Diese liegt hier im selben Verzeichnis wie die Projekt.exe
  MediaPlayer1.Volume:=0.8;                     //Setzt die Lautstärke. Von 0 bis 1 könnt ihr alle Fließkommazahlen setzen. Nach 1 sind "100%" Lautstärke erreicht.
  MediaPlayer1.Play;                            //Startet den Mediaplayer
  end;
Vergesst mir nicht die Variable "time" zu deklarieren
Delphi-Quellcode:
var time:integer;
.

Um euren Track nun zum ersten Mal zu starten (damit er in der Schleife stetig wiederholt werden kann), könnt ihr nun einen Button oder sonst irgendwas benutzen oder auch FormCreate. Da packt ihr den Code rein:
Delphi-Quellcode:
MediaPlayer1.FileName:='test.mp3';
MediaPlayer1.Volume:=0.8;
MediaPlayer1.Play;
Ich hoffe ich konnte damit einigen helfen, die eine Loopmöglichkeit suchten. ;)

demiralp 5. Sep 2014 12:55

AW: Firemonkey: MediaPlayer und Loops
 
Sieht schlecht aus :-(
Ich kenne das Tool auch leider überhaupt nicht :-(

onepiecefreak2 5. Sep 2014 16:39

AW: Firemonkey: MediaPlayer und Loops
 
Das gibts doch nicht.

Zu allem bisher 'ne Antwort gefunden. Nur bei einem "einfachen" Loop hängt es?

Ich mein es gibt ja leider nicht sowas wie einen Loopknopf (was übrigens mal irgendwie total sinnvoll wäre, aber ich habe FMX ja nicht programmiert :)) oder doch?

Nun, dann wird das das erste unbeantwortete Thema bleiben, was? :(

Der schöne Günther 5. Sep 2014 16:42

AW: Firemonkey: MediaPlayer und Loops
 
Gibt es denn nichts anderes außer dem FMX-Mediaplayer?

onepiecefreak2 5. Sep 2014 16:55

AW: Firemonkey: MediaPlayer und Loops
 
Ich habe keine Ahnung du.

Ich habe, um Dateien abzuspielen (ob nun Video oder Sound), nichts anderes als die TMediaPlayer- und TMediaPlayerControl-Komponente gefunden.

Ich schätze das man beide braucht. Während in der MediaPlayer-Komp. zum Bleistift, die abzuspielende Datei geladen wird, wird sie mit der Control-Komp. abgespielt, lauter, leiser gemacht und was sonst noch.

Nun, bin über jeden Hinweis in andere Richtungen dankbar ^^

onepiecefreak2 5. Sep 2014 23:56

AW: Firemonkey: MediaPlayer und Loops
 
Ok, um die Qual des Wartens zu beenden, werde ich diesen Thread hier schließen. Ich habe derweil noch etwas rumgebastelt und einen Code entwickelt, der loopt.

Es ist gut gelungen. Einziges Mango: Wenn der Titel vorbei ist, dauert es ein paar Bruchteile bis der Track erneut gespielt wird. Für mein Gelingen bräuchte ich also einen "delayfreien" Übergang.

Jeder der helfen kann ist willkommen.

Der Code ist im 2. Beitrag dieses Threads einzusehen.

Sir Rufo 6. Sep 2014 01:13

AW: Firemonkey: MediaPlayer und Loops
 
Da gibt es doch was von Embapharm ...

http://sourceforge.net/p/radstudiode...PlayerForm.pas

die haben sich auch mit einem Timer beholfen. Sieht grauslich aus aber wo kein Event da muss es dann ein Timer richten.

BTW Das mit dem
Delphi-Quellcode:
div MediaTimeScale
kannst du dir schenken ;)

onepiecefreak2 6. Sep 2014 16:56

AW: Firemonkey: MediaPlayer und Loops
 
:O ... :O
Ne also jetzt wirklich :OOOO

Das ist zu simpel für meine Verstand, aber er hat tatsächlich weniger Delay als vorher. Wenn sogar gar keinen.

Ich glaubs nicht.

Danke, du bist mein Held !!!!!

ENDE des Threads.


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