Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Eigene Playlist entwickeln?! (https://www.delphipraxis.net/99157-eigene-playlist-entwickeln.html)

Cyberaxx 7. Sep 2007 17:48


Eigene Playlist entwickeln?!
 
Hallo,

was besseres viel mir leider gerade nicht als Thema ein.

Es geht darum ein eigenes Playlist-System zu erstellen, ähnlich der MediaLibrary von Winamp.
Ich weiß nicht ob Winamp dafür eine Datenbank benutzt aber das ist gerade wengier wichtig.

Ich wurde von einem Bekannten angesprochen ob ich nicht etwas bauen könnte damit er eine interaktive Suche für seine Musik hat.
Er hat also alle Seine Musik und möchte nun nach einem Lied suchen, dessen genauen Namen er nicht mehr kennt, aber einen Teil von ihm.

Hatte es auch zum Teil schon fertig gehabt aber nicht direkt mit dem Erfolg den ich wollte.
Beim erstellen der "Liste" übergibt man Quellverzeichnis und eine Liste vom Typ TStrings(für die Visualisierung).
Das Verzeichnis inkl. aller Unterverzeichnisse wird durchsucht und für jede gefundene Datei ein CollectionItem angelegt.
Darin enthalten sind bisher nur Pfad und Dateiname. Später sollen dort aber auch noch ID3 Tag, Länge usw. drin enthalten sein.
Nachdem alle Dateien hinzugefügt werden, wird einfach nur der Dateiname an die Liste angehängt.
Intern nutze ich nur TStrings, da ist mir schon aufgefallen das es dort ja keine Eigenschaft ItemIndex gibt, was natürlich nicht so toll ist. Bin dann erstmal über IndexOf(S: String) gegangen aber was passiert wenn öfter eine Datei vorkommt. Dann würde er immer die erste nutzen.
Sie suche ansich funtioniert recht einfach. die liste wird gesäubert und es werden alle CollectionItems durchgegangen und wenn der Suchtext passt, wird er zur liste hinzugefügt. Da hab ich dann eben gemerkt wenn im Verzeichnis /xy/lied.mp3 liegt und direkt darunter im Verzeichnis /xx/lied.mp3 und ich klicke letzteres an er eben das erste nehmen würde.
Somit dachte ich ok übergibst halt auch das eigentliche Objekt bei der Suche und gehst dann direkt über das Objekt in der Liste.
Es wäre jetzt die Frage die ich hier stelle, ob es eine bessere Lösung gebe sowohl in der Umsetzung und Aufwand.


Das ist jetzt noch der Original Code ohne übergabe des Objektes an die Liste
Delphi-Quellcode:
type
  TAudioItem = class(TCollectionItem)
  private
    FFilename: String;
    FDirectory: String;
    procedure SetDirectory(const Value: String);
    procedure SetFilename(const Value: String);
  public
    property Filename: String read FFilename write SetFilename;
    property Directory: String read FDirectory write SetDirectory;
  end;

type
  TAudioItems = class(TCollection)
  private
  public
    constructor Create;
    constructor Destroy;
    function Add(Directory, Filename: String): TAudioItem;
    function GetAudioItem(Index: Integer): TAudioItem;
  end;

type
  TPlayList = class(TObject)
  private
    FList: TStrings;
    FAudioItems: TAudioItems;
    FCount: Integer;
    procedure GetFiles(aDirectory: String; const FileMask: String; SubDirs: Boolean);
  public
    constructor Create(List: TStrings);
    destructor Destroy; override;
    procedure AddDirectory(ADirectory: String);
    procedure FileEntry(S: String; var Directory: String; var Filename: String);
    procedure Search(S: String);
    function Count: Integer;
    function SelectedItem: Integer;
  end;

procedure TPlayList.AddDirectory(ADirectory: String);
  var
    SR: TSearchRec;
    I: Integer;
begin
  GetFiles(ADirectory, '*.mp3', True);

  for I := 0 to FAudioItems.Count - 1 do
    FList.Add(FAudioItems.GetAudioItem(I).Filename);

end;

procedure TPlayList.FileEntry(S: String; var Directory, Filename: String);
  var
    AItem: TAudioItem;
    I: Integer;
begin
  for I := 0 to FAudioItems.Count - 1 do
    if (FAudioItems.GetAudioItem(I).Filename = S) then
      begin
      AItem := FAudioItems.GetAudioItem(I);
      break;
      end;

  Directory := AItem.Directory;
  Filename := AItem.Filename;
end;

DP-Maintenance 7. Sep 2007 18:05

DP-Maintenance
 
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Multimedia" verschoben.
Es geht um Delphi.

arbu man 7. Sep 2007 21:01

Re: Eigene Playlist entwickeln?!
 
Hau einfach die Daten in eine Datenbank, dann muss du dir um die Punkte Speichern/Laden und Suchen keine sorgen machen, das macht alles die DB für dich.


mfg, Björn

argonix 7. Sep 2007 21:14

Re: Eigene Playlist entwickeln?!
 
Mein Musikplayer Merkur Player macht genau das. (mit ID3-Tag usw.) Dabei werden die Daten in einer XML-Datenbank gespeichert. Das geht mit wenig Aufwand (es gibt hier im Forum irgendwo auch ein gutes Tutorial dazu). XML ist enorm flexibel und (meißtens) auch sehr schnell.
Warum schreibst du die Daten zur Anzeige nicht in ein Listview? Das geht doch viel einfacher!

[edit]Unsinn entfernt[/edit]

Cyberaxx 7. Sep 2007 21:33

Re: Eigene Playlist entwickeln?!
 
Na das wäre ja ein wenig zu einfach ;)

Die frage ist wie die Performans ausschaut und das aktualisieren der Daten.
Ist eine Datenbank, muss ja eine Lokale sein wirklich schneller?
Jemand ändert nen Eintrag oder den Namen. Beim Name wäre das ja ok, ist der Name nicht vorhanden einfach löschen aber beim ändern, das heisst ich muss jede Datei eh noch einmal aufrufen um zu sehen ob die Daten nicht stimmen.

Im Visuellen habe ich ja eine Listwiev.
Da wird halt nur Visuell dargestellt für die Suche, ich will intern ja dennoch die gesamte Liste haben und nur die Anzeigen die im Suchergebnis enthalten sind. Genau das ist ja bisher auch nur das Problem gewesen, habe nur den Dateinamen übergeben und nicht noch das Objekt angehängt.
Mit der DB wäre ne Idee, aber da ja wie gesagt was schneller geht.
Ich würde ungerne auf eine XML zurück greifen, gerade was mal eben von einigen Tausend Dateien angeht.
Ich gehe hier auch nicht von einem Mediaplayer aus was die Playlist angeht sondern eher ein Verwaltungstool der Dateien.
Die Suche soll ja nicht alles an dem Konstrukt sein.

[Edit]Was ist bei die die Grundlage für Aidio und Video? Nutzt Du eine Komponente oder mehrere?[/Edit]

arbu man 8. Sep 2007 09:52

Re: Eigene Playlist entwickeln?!
 
Grade bei vielen Datensätzen würde ich eine DB vorziehen, durch SQL Abfragen kann man schnell die gesuchten Datensätze anzeigen lassen. Natürlich könnte man es von Hand etwas schneller machen, aber in dem DBMS stecken schon sehr viele Optimierungen drin, ich sehe ich das es ein vertretbarer Aufwand wäre, es von Hand selbst zu machen, zumal ich bezweifle das du es schneller hin bekommst als eine DB.

mfg, Björn

Cyberaxx 8. Sep 2007 13:26

Re: Eigene Playlist entwickeln?!
 
Abgesehen von XML was wäre denn eine nette Datenbank, die Lokal läuft und die ich ohne weitere Installationsvorraussetungen nutzen kann unter Windows sowie unter Linux?

Cyberaxx 10. Sep 2007 15:38

Re: Eigene Playlist entwickeln?!
 
Habe mich nun für ein Datenbank Konzept entschieden.
Ist vllt. nicht die beste Wahl aber ich denke dafür geniügen die Ansprüche, ist nun eine SQLite Datenbank.
Hier habe ich wenigstens den Vorteil, das man durch die SQL Syntax auch andere Datenbanken nutzen kann und entsprechend auch erweitern kann ohne viel Aufwand. Hoffe das die Zugriffszeigen recht gut sind.

@argonix
Habe deinen Rat befolgt und alles in eine TreeView rein gesetzt, macht Optisch schon mehr her. :)

mimi 10. Sep 2007 18:43

Re: Eigene Playlist entwickeln?!
 
wie währe es denn mit einer such Funktion für Dateien ?
also Praktisch ein eigens "dir" wenn du so möchtest.... kannst du folgend ?

Bei bedarf kann man die Dateien auch noch öffnen und per FMod oder so die Tags Rauslesen wenn man möchte !

Cyberaxx 10. Sep 2007 18:57

Re: Eigene Playlist entwickeln?!
 
@mimi
Zum ersten Teil nicht so ganz, Suchfunktion ist ja bereits in der NonDB Version drin, da bisher aber auch nur nach Dateinamen, da ich damit jemanden Delphi ein wenig näher bringen will, und ich noch keine Lust hatte ihm die Jedis auf der Turbo Version zum laufen zu bringen.

Mit der DB allerdings geht das suchen noch schneller und ich kann auch direkt nach mehreren Kreterien suchen.
Abspielbar soll das alles nachher per BASS.DLL oder aber playlist -> WinAmp sein.
Was mir immernoch fehlt ist etwas um WinAmp bzw NSV Dateien abzuspielen... Falls da wer etwas hat, her damit

mimi 10. Sep 2007 19:08

Re: Eigene Playlist entwickeln?!
 
Der nachteil ist die DB muss immer zu aktualisiert werden oder nicht !

Gut das suchen geht schneller.... das stimmt.

Cyberaxx 10. Sep 2007 19:18

Re: Eigene Playlist entwickeln?!
 
Ja das stimmt, da gebe ich dir auch vollkommen recht.
Wie macht das Winamp? die MedLib muss ja auch in einer DB sein, vermute ich mal.
Ebenso bietet sie auch die Möglichkeit, das man nicht mehr vorhandene Dateien entfernen kann.

Jedesmal allerdings die Verzeichnisse zu durchsuchen ist ja auch nicht das wahre denk ich.

Später soll das nen MediaCenter werden.

mimi 10. Sep 2007 19:39

Re: Eigene Playlist entwickeln?!
 
evlt. werden die Dateien beim abspielen abgeliechen wenn es sie nicht gibt, wird sie entfernt oder so.

Wobei ich nutze diese Funktion von Winamp auch recht selten. Das sicherste aber das dauert halt auch Länger ist einfach die Dateien suchen lassen. per findfirst und findnext......

Wenn es der User wünscht können ja auch wie gesagt die Tags ausgelesen werden. Das sollte denke ich mit fmod oder Bass relativ einfach gehen.
Dauert aber auch seine gewisse zeit.
bzw. ihr könntet ja zwei Systme einbauen:
Ein Dynamisches und ein Statisches.

Das Statische ist halt das mit der Daten Bank
Das Dynmiasche ist die Findfirst findnext Methode.

weil bei mp3 Dateien müssen die Tags erst gesucht werden, was ich irgendwie total blöd finde. Warum stehen sie nicht an einer festen Position ? am Anfang der Datei z.b..... aber gut, darum geht es jetzt nicht hier.....

Cyberaxx 10. Sep 2007 19:57

Re: Eigene Playlist entwickeln?!
 
Bisher ist es ja so, das nur die Dateien zur Laufzeit existieren.
Wenn ich die Dateien hinzufüge dauerts halt ein wenig, da sie auf einem anderen Rechner liegen, massig Unterverzeichnisse und es sehr viele sind. Wenn ich dazu dann noch den ID-Tag auslesen würde, wäre ich dann doch bei recht viel Ladezeit, für einen Mediaplayer fände ich das ein wenig viel Zeit. Die bisherige Funktion werde ich ja auf jedenfall behalten.

Cyberaxx 10. Sep 2007 22:27

Re: Eigene Playlist entwickeln?!
 
Habe mal eine etwas bescheidene Frage, will mir nur sicher gehen.
Habe des öfteren mal gelesen, das bei der Darstellung sehr vieler Dateien in einer Playlist immer nur ein Teil gelesen wird und auf Scrollen weitere.
Müsste ich da bei der Stringlist z.B. im OnDraw die Daten laden?

Grösse der Liste festlegen mit Count = Anzahl der Dateien und im OnDraw dann nur den sichtbaren Teil der Dateien lesen und eintragen?
Sry das ich mich immer an WinAmp halte aber ist das da nicht so das immer die Dateinamen angezeigt werdne und erst beim scrollen durch den wenn vorhanden ID-Tag ersetzt werden?

mimi 11. Sep 2007 11:05

Re: Eigene Playlist entwickeln?!
 
ich meine die Listbox oder ein Modus dafür, oder halt die ListView....

Dort kannst du die Verwaltung der Daten selbst übernehmen.

onDraw gibt es meineswissens nicht.
Schau dir mal die VST an(Virtual String Tree) .... Ich glaube das würde sich für dich lohnen !

pstruh 11. Sep 2007 11:19

Re: Eigene Playlist entwickeln?!
 
Hallo,
'mal 'ne Frage: Was verstehst du denn unter sehr vielen Dateien? Wieviel mp3's hast du denn? Ich habe mir auch einen eigenen Player "zusammengebaut" (der wird auch nie fertig, obwohl schon auf einigen Partys im Einsatz) habe etwa 4000 mp3's, da ist Geschwindigkeit auch auf einem langsamen Rechner (800MHz) keine Thema.
Gruß

Cyberaxx 11. Sep 2007 14:53

Re: Eigene Playlist entwickeln?!
 
@mimi
Werde ich mir mal ansehen. :)

Bei mir wenn ich wirklich alle nutzen will, sind es über 10.000 in X Verzeichnissen, einfach nur die Dateien lesen geht recht schnell, sobald da aber noch der ID-Tag mit rein kommt, dauerts halt doch ne gewisse Zeit.

Die Person für die ich es umsetze ist Moderator bei einem Radio Sender, das heißt da kommen noch ein wenig mehr Lieder zusammen.
Dazu kommt das sie auch teilweise auf einem Netzlaufwerk liegen, was eh schon ein wenig länger braucht.

pstruh 11. Sep 2007 14:59

Re: Eigene Playlist entwickeln?!
 
Ja, dann ist mir das schon klar - das Lesen der Tags dauert unverhältnismäßig lang! Aber ist es denn wirklich notwendig die Tags immer wieder zu lesen? Das kann ich nicht so ganz nachvollziehen, die ändern sich doch nicht ständig ...
Gruß

mimi 11. Sep 2007 16:08

Re: Eigene Playlist entwickeln?!
 
Du könntest auch einfach eine Textdatei erzeugen mit allen Informationen, die du haben möchtest.

Und die durchsuchst du dann. Dort könnten auch die Tag Informationen drin stehen.

Du musst halt nur ein Weg finden diese Datei aktuell zu halten !

Cyberaxx 11. Sep 2007 16:45

Re: Eigene Playlist entwickeln?!
 
Zitat:

Zitat von Cyberaxx
Habe mich nun für ein Datenbank Konzept entschieden.
Ist vllt. nicht die beste Wahl aber ich denke dafür geniügen die Ansprüche, ist nun eine SQLite Datenbank.
Hier habe ich wenigstens den Vorteil, das man durch die SQL Syntax auch andere Datenbanken nutzen kann und entsprechend auch erweitern kann ohne viel Aufwand. Hoffe das die Zugriffszeigen recht gut sind.

Ich mag es eben nicht in einer Datei haben, da ich mir dort alle Funktionen selber schreiben müsste und zu unflexible ist, gerade was eine Sortierung odr ähnliches angeht dazu kommt so einfach erweiterbar ist sie ja auch nicht. XML wäre noch ne Lösung gewesen aber bin ja nun bei einer DB.

mimi 11. Sep 2007 18:08

Re: Eigene Playlist entwickeln?!
 
ich dachte es geht nur um ein einfachen suchen. Das such ergbniss könntest du ja als Playliste erstellen...
Aber eine DB ist evlt. auch besser geignet für dein vorhaben...

Cyberaxx 11. Sep 2007 18:23

Re: Eigene Playlist entwickeln?!
 
Hmm... Ok ich fang nochmal klein an :)

Jemand kam auf mich zu, er ist von einem Radio und hätte gerne für seine MP3s eine Art MediaLib, wo er schnell alle seine Mp3s durchsuchen kann, einige wissen trotz das es sowas öfter gibt, gerade Winamp ist ja gutes Beispiel will man gerne was eigenes haben. Dadurch das er Modi ist, kommen da natürlich noch ein wenig mehr an Liedern zusammen als ich habe. Da seine Sammlung sich eher vergrössert als verkleinert, macht es natürlich keinen Sinn immer wieder die Verzeichnisse zu durchforsten wenn man eben mal schnell ein Lied suchen will. Da es sich gerade erst am Anfang befindet, weiß ich nicht was da noch so alles eben hinzu kommt und aufgrund der Datenmenge ist eine Datei für mich ja schon ausgeschlossen.
Es soll im Momant noch keine Playlist enthalten, eben nur eine Suchfunktion durch seine Sammlung. So wie ich das bisher hatte in der ersten Version, konnte ich zwar wunderbar suchen aber wenn ich mir dann einmal per ShellExecute ein Lied anhören wollte, klappte es nicht da Intern noch die original Liste stand. Das wollte ich durch anfügen des Objektes an die Liste abschaffen.

Anfangs ging es auch nur ums einfache Suchen, aber dann sollte das lied auch anhörbar sein, macht ja so wenig Sinn, wer weiß wie lang der Pfad ist und dann müsste man dort ja auch wieder suchen. Mittlweweile ist halt soweit das da mit sicherheit nen Player draus entsteht.

Keine Ahnung ob ich jetzt am Thema vorbei bin oder unnütze Informationen von mir gelassen habe oder es Hilft mich weiter zu verstehen :)

Cyberaxx 11. Sep 2007 22:11

Re: Eigene Playlist entwickeln?!
 
Da es noch irgendwie zum Thema passt, wie realisiere ich es recht einfach das verschiedene Formate hinzufügen kann ohne das der Vorgang viel mehr Zeit braucht.

Delphi-Quellcode:
procedure TPlayList.FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);
var
  SR: TSearchRec;
  aMediaItem: TMediaItem;
begin
  RootFolder := IncludeTrailingPathDelimiter(RootFolder);

  if Recurse then
    if FindFirst(RootFolder + '*.*', faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory = faDirectory then
          if (SR.Name <> '.') and (SR.Name <> '..') then
            FindAllFiles(RootFolder + SR.Name, Mask, Recurse);
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
  if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then
  try
    repeat
      if SR.Attr and faDirectory <> faDirectory then
      begin
        //FList.Add(RootFolder + SR.Name);
        aMediaItem := FMediaItems.Add;
        aMediaItem.Directory := RootFolder;
        aMediaItem.Filename := SR.Name;
      end;
    until FindNext(SR) <> 0;
  finally
    FindClose(SR);
  end;
end;
So würde ich jede Datei hinzufügen, also müsste ich da Prüfen ob es ein "bekanntes" Format ist oder gibt es eine schnellere/effektivere Lösung gerade wenn ich mal nen neues Format hinzufügen will?

pstruh 11. Sep 2007 22:37

Re: Eigene Playlist entwickeln?!
 
Hm, also ich denke du solltest mehr Zeit für ein grundsätzliches Konzept verwenden und nicht zu früh anzufangen mit dem Programmieren. Ich verwende z.B. folgendes Konzept:

NEUE mp3's werden nicht direkt vom Anwender (also mir) in das endgültige Verzeichnis abgelegt, die vielleicht nach Genres sortiert sind. Alle NEUEN Dateien kommen in ein Import-Verzeichnis. Von dort wird die neue mp3-Datei durch das Programm in das endgültige Verzeichnis verschoben - und das ist genau der Zeitpunkt, an dem der NEUE Titel vom Programm in der Datenbank (oder Playlist, oder.., oder..) registriert wird. Das Ganze hat den Vorteil, dass spätere Suchvorgänge (sofern man sich an diese Vorgehensweise hält) über viele Verzeichnisse überflüssig werden.

Ich hoffe, ich habe mich verständlich ausgedrückt??? Denk doch mal darüber nach, vielleicht ist das ein Lösungsansatz (bei mir funktioniert das gut) :hi:

mimi 12. Sep 2007 12:58

Re: Eigene Playlist entwickeln?!
 
@Cyberaxx
was meinst du mit verschiedene Formate ?
mp3, ogg ? fmod und bass spielen die meisten Audio und Musik Formate ab....

@pstruh
Das ist eine gute Idee, dieses Inportverzeichnis könnte überwacht werden....
so das neue Lieder auto. der Liste eingefügt werden bzw. verschoben wird.

Allerdings gibt es noch ein Problem: Wohrer soll das Programm das Ziel Verzeichniss kennen ?
Das müsste dann aus den vorhanden Tags abgeleitet werden.....

Cyberaxx 12. Sep 2007 13:37

Re: Eigene Playlist entwickeln?!
 
Ja das sie so ziemlich jedes Format abspielen weiß ich, ich meinte damit etwas anderes.
Ein ganzes Laufwerk wird als Quelle genannt, da liegt unter Umständen ja noch was anderes drauf als "bekannte Audioformate"
darum fragte ich.

Was das Importverzeichnis angeht naja und haust da 1000 Files rein. Ich perönlich stehe da nicht so drauf da vllt kein Genre angegeben ist oder es nicht so wirklich stimmt, das heißt beim Import müssten die Daten überprüft werden, das find ich nocht so der hit.

mimi 12. Sep 2007 13:53

Re: Eigene Playlist entwickeln?!
 
Wenn auf der Platte noch andere Daten liegen und du jetzt die Musik und Audio Formate haben möchtest bleiben die 2 Wege:
1: Du erstellst dir ein Array mit Erweiterungen und bei deiner Findfirst Methode sortierst du die rauß die du nicht brauchst

2: Du öffnest jede Datei mit Bass oder fmod und schaust so nach ob Fehler da sind. Ich bin mir zimlichsicher das diese libs dafür Funktionen haben.

Was das Inport Verzeichniss angeht: bei ersten mal kann er ja die Komplete Platte absuchen(wenn zeit keine rolle spielt) und die Dateien in deine DB eintragen am besten mit Checksumen zusammen.

Wenn es neue Musik gibt, könntest du jetzt die Plate Wieder komplet absuchen und die Checksumen vergleichen.
Wenn es sie schon in der DB gibt, dann lasse sie aus, andernfalls trage sie ein.

Das dauert seine Zeit aber sowas könnte dann gemacht werden, wenn keiner am "Rechner" ist, wenn es dort sowas gibt. oder aber auch im hintergrund als Thread.

Cyberaxx 12. Sep 2007 13:57

Re: Eigene Playlist entwickeln?!
 
Ich werde wohl die erste Methode vorziehen.

Zitat:

Zitat von pstruh
Alle NEUEN Dateien kommen in ein Import-Verzeichnis. Von dort wird die neue mp3-Datei durch das Programm in das endgültige Verzeichnis verschoben

Darauf wollte ich eingehen.

pstruh 12. Sep 2007 14:28

Re: Eigene Playlist entwickeln?!
 
Hallo Zusammen.

Ich möchte noch einmal auf mein Konzept eingehen:

Im Normalfall, d.h. im späteren, laufenden Betrieb, werden wohl kaum jede Woche 1000 neue Titel hinzukommen. Insofern wird die Menge an neu aufzunehmenden Dateien vermutlich überschaubar bleiben. Richtig ist, dass bei Einführung des Projektes ein nicht zu unterschätzender Aufwand notwendig ist, da ALLE bereits vorhandenen Dateien bearbeitet werden müssen - diese Mühe zahlt sich aber im späteren Betrieb mit Sicherheit aus.

Die endgültige Ablage der mp3-Dateien hat natürlich verschiedene Möglichkeiten. Eine besonders naheliegende Variante ist z.B. die verschiedenen Genres in jeweils einem separaten Verzeichnis abzulegen. Hat der Sender nur Titels eines Genres (?!) dann würde man vermutlich eine andere Clusterung vornehmen, z.B. nach Interpreten, Erscheinungsjahr, ... Sind in allen vorhandenen Dateien die Tags vollständig enthalten, könnte das Verschieben der mp3's in das endgültige Verzeichnis praktisch automatisch erfolgen. Besser ist aber wohl, dies halb-automatisch zu gestalten: Das Programm holt die Informationen aus der Datei und macht einen Vorschlag, wohin die Datei verschoben werden soll. Der Anwender überprüft und gibt im Optimalfall lediglich sein OK - hat aber zu diesem Zeitpunkt auch die Möglichkeit alle Tag-Informationen zu korrigieren.

Der hohe Aufwand bei der Einführung dieses Verwaltungssystem ist m.E. gerechtfertigt, da nur auf diesen Weg sicherzustellen ist, dass eine quasi fehlerfreie Musikdatenbank erstellt wird.

Gruß aus Hamburg

mimi 12. Sep 2007 14:34

Re: Eigene Playlist entwickeln?!
 
Bei Dateien die keine vollständigen Tags enhalten könntest du z.b. eine Internet Datenbank fragen, wenn du irgendeinen Schlüssel berechnest.

Weiß du worauf ich hinaus möchte ? z.b. bei Audio CD wissen doch die meisten Player wie die Cd heiß und welche Lieder drauf sind.

Ich weiß jetzt nicht ob es mit einzelnen Dateien auch geht. Nur so als vorschlagt.

Woher bekommen sie die Musik ? von cd's ? oder per Internet ?

pstruh 12. Sep 2007 14:54

Re: Eigene Playlist entwickeln?!
 
Hallo Mimi,
ja klar! Du hast schon richtig vermutet, das geht. Das Programm "Mp3Tag" von Florian Heidenreich www.mp3tag.de macht es uns vor. By the way: Das Programm ist echt klasse!
Gruß

Cyberaxx 12. Sep 2007 15:17

Re: Eigene Playlist entwickeln?!
 
Das ist eigentlich keine so schlechte Idee. Der Nachteil daran ist aber das selbst diese Informationen unter umständen sehr schlecht gepflegt sein können.

Beispiel: http://www.freedb.org/

Habe da nur mal nach Bravo Hits gesucht.
Zitat:

61017 result(s) found displayed on 6102 page(s).
Da hat man dann doch ein wenig Arbeit vor sich, gerade bei so vielen Ergebnissen würde ich sagen das da Doppelte drin sind die teils sicherlich nichtmal richtig sind, gerade was Schreibweisen angeht.
Amazon habe ich nicht getestet.
Alternativ wäre da noch die Suche über die Gema, was allerdings nur geht sofern der Gema Eintrag vorhanden ist.
Man möchte aber auch mal Zusatzinfos nutzen, die hast bei FreeDB wieder nicht, muß man sich auch wieder zusammen suchen, da es auf einer Eigenen DB läuft(mein System) kann man hier zu den Liedern noch viele weitere Infos eintragen aber selbst diese müsste man sich wieder suchen.

Anderes Beispiel PowerAMP nutzt ebenfall FreeDB mein ich und nachdem ich mir das neuste LinkinPark Album gekauft hatte und mir dann auf meien MP3 Player ziehen wollte musste ich feststellen das es alleine schon 3 Einträge gab jeweils andere Genres.

Perfekt ist es nicht und man müßte immer enimal drüber schauen. Sowas kann meines erachtens nur als Hilfe dienen.

pstruh 12. Sep 2007 18:00

Re: Eigene Playlist entwickeln?!
 
Hallo Cyberaxx,
da kann ich dir nur zustimmen! An diesem Punkt sieht man sehr gut, dass Automatisierung ihre Grenzen hat - und gerade deshalb ist die "halb-automatische", von mit vorgeschlagene, Lösung m. E. ein guter Kompromiss, der mit angemessenem Aufwand eine recht hohe Datenqualität ermöglicht.
Gruß :hi:

mimi 13. Sep 2007 14:32

Re: Eigene Playlist entwickeln?!
 
Ja da hast du wieder recht, aber du könntest die Daten ja trozdem aus dem Internet beziehen, aber
dann vom User Entscheiden lassen, ob es die richtigen sind, oder ob andere Quellen durchsucht werden müssen/sollen.

Bedeutet für dich mehr Aufwand und für den User auch, hat aber den vorteil, das es unter umständen, mehr Informationen zu einem Lied gespeichert werden können.


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