Tags aus mp3-Dateien auslesen

  • Moin moin aus dem hohen Norden!


    Ich habe auf meiner Page mp3-Dateien*. In diese habe ich Tags hineingeschrieben bzw. gespeichert. Wie kann ich diese auslesen? Das hinterlegte Bild anzeigen lassen, Titel, Komponist usw. usw..


    Ich habe im Netz gesucht und wirklich einiges zum Thema gefunden, aber leider funktioniert dieses alles nicht - egal was ich probiere.


    Wißt Ihr wie man dieses realisieren könnte?


    * hier der Link zu meiner Page: http://www.foto-finish.de/lpk.rocks/sides/songs01.php


    Es wäre schön, wenn ich die Tag-Infos oberhalb des Players, innerhalb des Player-Rahmens anzeigen lassen könnte.


    Danke Euch!


    -----


    Diesen List-Player habe ich dank Huhu hier im Forum hier gefunden: https://webdesign.weisshart.de/audio_tag.php


    Ich werde den List-Player noch ein paar Tage testen. Wenn er ohne Probleme läuft, werde ich Herrn Weishart einen kleinen Betrag als Dankeschön zukommen lassen.

  • Das sollte doch zu machen sein.

    Zitat

    Ich habe im Netz gesucht und wirklich einiges zum Thema gefunden, aber leider funktioniert dieses alles nicht

    Poste doch mal, wonach Du vorgegangen bist und woran es gescheitert ist.

  • O.K.! ...also ich habe mich - neben anderen - in der Hauptsache mit den Inhalten dieser Links aueinander gesetzt:


    http://php.net/manual/de/function.id3-get-tag.php
    https://www.symcon.de/forum/th…MP3-Tags-mit-PHP-auslesen
    https://forums.mp3tag.de/index.php?showtopic=9466 (Scipt)


    ...aber ich kriege da nix zusammen. Besonders beim mittleren Link kommt es im betreffenden Thread zu einer "getid3.php"-Datei... ...und da verlassen sie mich. Ich weiß nicht wo diese Datei herkommt und in dem Thread wird auch nix beschrieben...


    UND: Wenn ich das richtig verstehe, dann liest auch keine dieser Abhandlungen das Album-Cover als Bild-Datei aus - also das in der mp3 eingespeicherte Bild wird nicht wiedergegeben.

  • Ich bin mal nach diesen beiden Anleitungen vorgegangen:
    http://www.phpgangsta.de/mogli…ionen-aus-mp3s-auszulesen


    http://stackoverflow.com/quest…m-art-from-an-mp3-id3-tag


    Damit funktioniert es einwandfrei, einschl. Auslesen des Bildes, wenn denn eines vorhanden ist:

    Dieses Skript liest die MP3s aus dem Unterverzeichnis audio aus.

  • Vielen lieben herzlichen Dank für Deine Arbeit Sempervivum! :thumbsup:


    Aber ich kriege nix zum Laufen ?(


    Ich erhalte immer folgende Fehlermeldung:


    Code
    1. Warning: require_once(getID3-1.9.12/getid3/getid3.php) [function.require-once]: failed to open stream: No such file or directory in /home/foto-finishde/public_html/S-Test.php on line 31
    2. Fatal error: require_once() [function.require]: Failed opening required 'getID3-1.9.12/getid3/getid3.php' (include_path='.:/usr/lib/php') in /home/foto-finishde/public_html/S-Test.php on line 31


    Ich habe meine Datei "S-Test.php" genannt und alles direkt unterhalb meiner Hauptdomain auf den Server kopiert. Irgendwie bekomme ich die "getid3.php" nicht zu fassen. Ich vermute mal, dass diese Datei innerhalb der php-Struktur meines Servers vorhanden sein muss. Oder?!?


    Erst mal zurück zurück!!!!: Habe das mit der "getID3-1.9.12" gefunden! Man muss sich da die Ordner aus dem Netz runterladen und mit mit in die Server-Struktur integrieren.


    O.K.. Jetzt ist die Fehlermeldung weg aber angezeigt wird nix ?( ...außer der Player mit NUR EINER Datei beladen. Aber die Infos aus dieser Datei werden mir weiterhin nicht angezeigt :whistling:

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Skogtroll ()

  • Du musst deine MP3s in das Verzeichnis audio legen. Hast Du das getan? Ich habe den Code natürlich getestet und bei mir hat er einwandfrei funktioniert.
    Ich habe auch eine von deinen MP3s getestet und sie wird einwandfrei angezeigt, einschl. Bild, und abgespielt.

    Dieser Beitrag wurde bereits 2 Mal editiert, zuletzt von Sempervivum ()

  • ...oder ich änder die Zeile...



    ...um. Oder?!? Habe ich gemacht. Muss es "audio" unbedingt sein, weil ich da andere Bezüge übersehe?


    Momentan erhalte ich die Fehlermeldung:


    Code
    1. Fatal error: Cannot use [] for reading in /home/foto-finishde/public_html/S-Test.php on line 15


    Und das ist dieser Bereich:


    PHP
    1. /* ################### hier die .mp3 Dateien (Streams gehen als https nicht) ######## */
    2. $url[];
    3. /* ################### und hier die angezeigten Titel ######################### */
    4. $name = [];
    5. $image = [];


    Wo jetzt Zeile 3 ist, ist bei mir Zeile 15.


    Und das mit den "image" habe ich noch nicht wirklich verstanden. Muss ich jetzt die Thumbs, die eigentlich in den mp3-Dateien drinne sind in einen Extra-Ordner ablegen? Weil die Cover-Bilder NICHT ausgelesen werden?!


    Danke Dir!

  • Nein, es muss natürlich nicht unbedingt "audio" sein, Du kannst den Pfad beliebig anpassen. Ich hätte ihn als Konstante ganz oben in dem Skript definieren sollen.



    Und nein, Du brauchst die Bilder nicht explizit als Thumbnails abzulegen. Das Skript liest sie aus den MP3s.


    Und was dieses betrifft:

    Zitat

    Fatal error: Cannot use [] for reading in /home/foto-finishde/public_html/S-Test.php on line 15

    Anscheinend unterstützt deine PHP-Version die Schreibweise mit [] nicht. Verwende statt dessen dieses:

    PHP
    1. $url = array(); $name = array(); $image = array();
  • O.K.! Habe ich gemacht!


    Jetzt erhalte ich die Fehlermeldung:


    Code
    1. Notice: Undefined offset: 0 in /home/foto-finishde/public_html/S-Test.php on line 64


    Das ist bei mir dieser Bereich und jetzt Zeile 9:



    Die Überschrift "" ist jetzt auch und der Player als dickerer schwarzer Balken zentriert auf dem Desktop zu sehen.

  • Dieser Fehler kommt offenbar von dieser Zeile:

    PHP
    1. $titel = $url[0];


    Offenbar hat er die MP3s noch nicht gefunden. Bist Du sicher, dass der Pfad richtig ist und dass die MP3s dort liegen?


    Edit1: Doch, die MP3s sind da. Dann verstehe ich nicht, warum er sie nicht findet.


    Edit2: Leider kann ich den PHP-Code nicht einsehen. Vielleicht kannst Du den Code der Seite zusätzlich mit der Endung "txt" hoch laden, dann kann ich ihn dort lesen.

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von Sempervivum ()

  • Das wäre diese Zeile:

    PHP
    1. $name[] = $ThisFileInfo['tags']['id3v2']['title'][0];


    Würde bedeuten, dass der title-Tag in der MP3 nicht vorhanden ist. Das wundert mich, denn ich hatte mit "Here And Now And There And Then - Lenni Paul Klimek" getestet und da wurde der Titel angezeigt. Versuche es zunächst mal mit dieser Datei.

  • ...habe es trotzdem kontrolliert: Ist alles auf dem Server!


    Danke Dir für Deine Arbeit! Du machst Dir wirklich 'nen "Kopp" für mich! Danke!

  • Kein Problem, so etwas macht mir Spaß!
    Füge doch mal ein var_dump() nach dem Auslesen der Tags ein:

    PHP
    1. $ThisFileInfo = $getID3->analyze($filename); var_dump($ThisFileInfo);
  • Habe ich gemacht!


    Bekomme dann das...


    Code
    1. array(1) { ["error"]=> array(1) { [0]=> string(64) "getID3() requires PHP v5.3.0 or higher - you are running v5.2.17" } }
    2. Notice: Undefined index: tags in /home/foto-finishde/public_html/S-Test.php on line 33
    3. array(1) { ["error"]=> array(2) { [0]=> string(64) "getID3() requires PHP v5.3.0 or higher - you are running v5.2.17" [1]=> string(64) "getID3() requires PHP v5.3.0 or higher - you are running v5.2.17" } }
    4. Notice: Undefined index: tags in /home/foto-finishde/public_html/S-Test.php on line 33


    Sieht sonst aus, wie auf dem oben gezeigten Screenshot und die mp3 lässt sich abspielen.


    txt-Datei ist mit hochgeladen.


    ----


    Ich habe gerade mal einen kleinen Test gemacht: Habe die Tags aus der Datei gelöscht und mal mit dem normalen Windows-Explorer via Eigenschaften reingeschrieben. Das Bild konnte ich so nicht mit dazu speichern. Abervielleicht könnte man zumindestens die Infos lesen....


    Neee. Das wars auch nicht. Jetzt ist wieder die "normale" mp3 auf dem Server.


    -----


    Also wenn es bei Dir funktioniert... :whistling: ...bei mir nicht > habe mir das Ganze auch auf meinem Smnartphone mit Chrome- und dem Smartphone-Firebird-Browser angeguckt: Gleiche Fehlermeldungen und gleicher Screenshot. Die mp3 lässt sich abspielen.

  • Die Ausgabe von var_dump() liefert die Erklärung, warum es nicht funktioniert:
    "getID3() requires PHP v5.3.0 or higher - you are running v5.2.17"


    Das PHP deines Servers ist zu alt. 5.2 wird schon lange nicht mehr unterstützt. Informiere dich bei deinem Hoster, wie Du auf eine neuere Version upgraden kannst.

  • Ja das erklärt auch mir vieles!!!


    Ich mache jetzt Nägel mit Köpfen: Ich habe soeben bei dem Hoster, bei dem ich meine Domains "www.lenni-paul-klimek.de" und "www.lpk.rocks" registriert habe meinen Webspace freischalten und dann mit dem php dieses Servers arbeiten.


    Ich melde mich dann nochmals, ob'sl äuft.


    Ich hatte ja bisher auf meinen alten Webspace foto-finish.de weitergeleitet. Der Server ist wohl doch schon zu alt...


    Ich warte ja darauf, das ich meine alte Domaine foto-finish.de endlich verkaufen kann. Ich fotografiere ja schon seit ein paar Jahren nicht mehr.


    -----


    Nur noch eine Frage sempervivum: Durch das Entpacken der getID3-1.9.12.zip habe ich einen 3,5MB großen Ordner mit Unterordner erhalten. Das ist ja nun für ein Webspace-Kontingent recht viel! Was muss alles aus diesem "Ordner-Wust auf den Server? Ich meine, es müsste doch nur der "getID3-1.9.12/getid3/-Ordner" sein? ...oder reicht nur dieser Pfad und dort als einzige (!) Datei die "getid3.php"?!?


    Danke Dir nochmals ganz ganz herzlich!