Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi MediaFile Spiellänge bestimmen! leistuzngsverlust?300 Datein (https://www.delphipraxis.net/62185-mediafile-spiellaenge-bestimmen-leistuzngsverlust-300-datein.html)

No Voices 31. Jan 2006 23:36


MediaFile Spiellänge bestimmen! leistuzngsverlust?300 Datein
 
Hallo alle zusammen. Ich bin auf der suche nach einer möglichkeit die spiellänge verschiedener Dateien zu bestimmen.

Das problem dabei ist die anzahl der Dateien.

Bei meiner ersten version vom MediaPlayer habe ich auch mit "Bass" gearbeitet. Wenn ich Jetzt aber 300 Dateien in meine PlayList laden will brauch er dabei schon recht lange.

Bei meiner Zweiten version will ich ohnen andere sachen auskommen. Nur TMediaPlayer (Ist Das Sinnvoll???).

Meine PlayList ist eine TListView, Wenn ich jetzt nur den Pfad und Dateinamen der Dateien einlese ist das echt schnell. an der stelle soll er die spiellänge auslehsen. aber ohne leistungs verlust. und bei verschiedenen Dateitypen (mp3, wave und auch cd).

flomei 31. Jan 2006 23:42

Re: MediaFile Spiellänge bestimmen! leistuzngsverlust?300 Da
 
TMediaPlayer setzt nur auf dem Windows MediaPlayer auf, ist also wohl eher langsamer als eine vernünftige und somit effiziente Nutzung der Bass.dll die du mit "Bass" sicherlich meinst.
Und obwohl ich noch nie mit jener dll gearbeitet habe bin ich mir sicher, dass eine Funktion zum Auslesen der Tracklänge zur Verfügung steht. :)

Andererseits ist es fraglich wie performant so etwas überhaupt sein kann.
Selbst "gute" (im Sinne von weitentwickelte) Player wie WinAMP haben Probleme seeeeeeeeeeeehr viele Tracklängen "mal eben" auszulesen.
Deshalb muss man, je nach Einstellung, beim Hinzufügen vieler Dateien warten bis WinAMP die Tracklängen ermittelt hat oder die Länge wird erst ermittelt wenn der Titel in der Playlist sichtbar wird.
Ähnliches wird beim WMP der Fall sein.
Vermutlich liegt hier also ein eher generelles Problem vor und keins das unbedingt mit der Programmierung deines Players zu tun hat.

MfG Florian :hi:

No Voices 6. Mär 2006 18:36

Re: MediaFile Spiellänge bestimmen! leistuzngsverlust?300 Da
 
Aber kann ich nicht einfach mit ein paar zeilen quelltext von der datei die spiellänge berechnen anhand der größe?

Wishmaster 7. Mär 2006 01:12

Re: MediaFile Spiellänge bestimmen! leistuzngsverlust?300 Da
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi

Wie hast du die zeit mit der bass.dll ausgelesen? Und wie lange hat es gedauert um die zeit der 300 Dateien zu berechnen.

Ich Arbeite auch an einem Project um meine mp3s zu Organisieren, also ich lade die mp3s in eine ListView mit 17 Columns und mein Programm braucht ca. 40 Sec. um 2,071 Files zu laden. Mein Programm untersuch dabei 20 verschiedene Vormate wie (.ogg, .mp3, wav, AC3, …)

Die Bass.dll + Plug-ins benutze ich nur um die Dateien abzuspielen, die VBR von MP3s zu berechnen und für CD-Text.

Schau mal hier vorbei.
http://mac.sourceforge.net/atl/



wen du dir ne Playlist Bauen willst wie bei WinAmp also nur Title + Time dann solltest du ne TListbox nehme, die ist wesentlich schneller als ne ListView.

Gandalfus 7. Mär 2006 13:56

Re: MediaFile Spiellänge bestimmen! leistuzngsverlust?300 Da
 
[quote="flomei"]TMediaPlayer setzt nur auf dem Windows MediaPlayer auf:/quote]
zum 100 mal das ist falsch! Der TMediaplayer setzt auf der MCI auf die veraltet ist. Der Windows Mediaplayer basiert genau wie die bass.ll auf DirectX.


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