Autor Beitrag
Arakis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: So 28.07.02 14:42 
Hi user defined image,

ich hab ja mal das Programm DockPlayer geschrieben, das im Hintergrund einen TMediaPlayer nutzt. Nun muss ich aber ordnungsgemäß die Länge des Liedes herausfinden und wann es zu ende ist. Ich hab einfach mal die nicht so schöne art gelöst
ausblenden Quelltext
1:
2:
3:
4:
5:
//Intervall = 1000
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if MediaPlayer1.Length:=self.MediaPlayer1.Position then myplayer.next;
end;


Funktioniert ganz prima, aber wenn ich komprimierte Waves habe oder MIDI-Dateien abspiele, stimmt die Länge und Position gar nicht mehr, ist zu kurz dargestellt. Dies hat auch zur Folge, dass mein Fortschrittsbalken viel zu früh am ende ist. Hat einer eine Lösung, wie man ordnungsgemäß die Länge und Position eines Liedes herausbekommt?

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
Renegade
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 358

Win XP Pro, Win 7 Beta
BDS 2006
BeitragVerfasst: Do 15.08.02 15:39 
Moin erstmal!

Ich meine das ich dazu mal was gelesen habe. Wenn ich das richtig im Kopf habe mußt du das Lied ersteinmal bis zum Ende "vorspulen" und dann wieder an den Anfang setzen und dann die Länge berechnen.

Gruß Renegade

_________________
Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."
Arakis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Do 15.08.02 16:55 
n'Abend Regenerade
(Moin erstmal = user defined image) :wink:

Müsst ich nachher mal ausprobieren. Das mit dem Vorsprulen, dass nimmt doch Zeit in Anspurch oder? Es geht mir vor allem um eine saubere Lösung(halbwegs sauber tut auch). Ich hab irgendwo mal ein Bespiel gesehen, in dem TMediaPlayer1.TimeFormat = tfFrames verwendet wurde. Vielleicht ist das die Lösung.

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
ao
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 145

Win XP Prof.
D7 Ent.
BeitragVerfasst: Do 15.08.02 17:27 
Hallo Arakis,

also, damit nach Ende eines Liedes das nächste gespielt wird kannst du auch folgende procedure für das OnNotify-Ereignis des MediaPlayers benutzen:
ausblenden Quelltext
1:
2:
3:
4:
procedure TForm1.MediaPlayer1Notify(Sender: TObject);
begin
  if MediaPlayer1.Position >= MediaPlayer1.Length-1 then MediaPlayer1.Next;
end;

Das "größer-gleich" und die "-1" musste ich einbauen, weil er sonst ab und zu hängengeblieben ist, k.A. warum. :?
Für deine Fortschrittsanzeige weiß ich leider momentan auch keine "allround-Lösung". :(

Gruß
Andreas
Renegade
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 358

Win XP Pro, Win 7 Beta
BDS 2006
BeitragVerfasst: Fr 16.08.02 09:09 
Moin erstmal! :D

Arakis hat folgendes geschrieben:
Das mit dem Vorsprulen, dass nimmt doch Zeit in Anspurch oder?

Ja dem ist so! Das ist vor allem dann ärgerlich, wenn man "saubere" Übergänge braucht.

Arakis hat folgendes geschrieben:
ausblenden Quelltext
1:
TMediaPlayer1.TimeFormat = tfFrames					

Jetzt wo dus schreibst - habe ich auch schon gesehen. Das klingt sehr vielversprechend. Muß ich gleich mal proggen.

Gruß Renegade

PS: Woher zur Hölle hast du diese genialen Gifs?[/quote]

_________________
Sokrates (468 v.Chr. - 399 v.Chr.)
"Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen."
Arakis Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: Fr 16.08.02 09:18 
Hi Renegade,
Renegade hat folgendes geschrieben:
PS: Woher zur Hölle hast du diese genialen Gifs?


www.plauder-smilies.de/ :D
oder du nimmst die Smilies auf meiner HP, das Inhaltverzeichnis der des Ordners kann ich dir ja schicken :roll:

Da du gerade Lust hast die Sache zu analysieren, wäre ich dir sehr dankbar, wenn du dir mal den Dockplayer genauer unter die Lupe nehmen würdest. Dafür brauche ich das nämlich. Wenn ich MIDI-Dateien oder komprimierte Waves öffne, dann stimmt die Fortschrittsanzeige nämlich nicht mehr. Ich selbst habe momentan nur sehr wenig Zeit :(

Bis dann
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!