Songtitel aus mp3.file bekommen

  • Hallo leude,


    vorweg erstmal: frohes neues, erfolgreiches und gesundvolles jahr 8)


    zu meiner frage:


    wie kann man von einem mp3-file, welches sich in einem raw verzeichnes befindet, daten wie z.b. intepreter oder songtitel bekommen?
    wenn ich z.b. ein mp3-file "Michael Jackson - Bad.mp3" in den raw verzeichnis kopiere und das projekt aktualisere bekommt man die fehlermeldung: Invalid file name: must contain only [a-z0-9_.]


    das heißt, die files die man in den raw-verzeichnis reinpackt, dürfen nur die oben aufgelisteten zeichen beinhalten. in dem fall wäre es sinnlos, aus dem file-name den intepreter bzw. songtitel zu extrahieren. müsste man dafür extra eine datenbank erstellen oder gibt es auch andere methoden? bin für jede hilfe und rat sehr dankbar.

  • Die Begrenzung der Dateinamen hat was mit der Resourcenverwaltung von Java/Android zu tun.


    Namen bzw Album aus dem Dateinamen zu extrahieren ist aber auch nicht der Königsweg und auch nicht notwendig.
    MP3 sind meistens getaggt und enthalten MetaDaten (Album, Künstler, Tracknummer, ect)



    Android bietet MediaMetadataRetriever zum abrufen solcher infos.


    http://developer.android.com/r…diaMetadataRetriever.html


    Java
    MediaMetadataRetriever mmr = new MediaMetadataRetriever();
    mmr.setDataSource(filePath);
    
    
    String albumName = mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM));



    Da ich das selber noch nicht benutzt habe, weiss ich nicht mit welchen Tag-Formaten er so zurecht kommt. zB. in MP3 kann man ja heute auch die Coverdaten als Bild mit einbauen, daher gebe es noch die alternative eine sogenannte TagLibrary zu nutzen


    http://sourceforge.net/projects/javamusictag/


    http://sourceforge.net/projects/jd3lib/
    http://jid3.blinkenlights.org/
    http://www.fightingquaker.com/myid3/

  • Hallo Killphil75,


    danke für deine antwort und hilfsbereitschaft. war einige zeit weg, krank etc. daher die späte anwort. ich habe mich nun heute damit etwas auseinandergesetzt, wie ich die parameter wie z.b. titel und interpret aus der mp3.file bekomme. wie du bereits gesagt hast, bietet android ab der api 10 die klasse MediaMetadataRetriever für das abfragen von metadaten an. ich habe ein neues projekt erstellt um es zu testen. es ist ziemlich simpel aufgebaut. die main.xml besteht nur aus einer textview. die musikdatei befindet sich im raw-ordner. die main.activity sieht folgendermaßen aus:



    ich bekomme eine fehlermeldung, bei setdatasource. ich verstehe das nicht. :-/ muss man hier nicht den pfad eingeben? schreibt man das nicht so? wenn nicht, wie sonst? danke im voraus für die ratschläge und hilfen

  • Hallo CdWechsler,

    Zitat

    ich bekomme eine fehlermeldung, bei setdatasource. ich verstehe das nicht.

    bist du sicher daas bei deinem neuen Projekt im Ordner "res" ein Ordner "raw/music" vorhanden ist, in dem deine Songs zu finden sind?
    Wenn nicht wäre mit einem Fehler zu rechnen.
    Schöne Grüße, schmyura ^^

  • ok,


    so sieht die mainactivity aus:



    hier sind noch einige nützliche links, bzw. die quellen:

    HTML
    http://www.google.de/imgres?um=1&hl=de&client=firefox-a&sa=N&tbo=d&rls=org.mozilla:de:official&biw=1472&bih=662&tbm=isch&tbnid=pM_d99goKMuI2M:&imgrefurl=http://xjaphx.wordpress.com/2011/06/28/query-mp3-information-using-android-supported-function/&docid=cej0QCeqEOuz6M&imgurl=http://xjaphx.files.wordpress.com/2011/06/media_metadata.png?w=595&w=240&h=432&ei=qgn9UOjxKovcsgb7soDADQ&zoom=1&iact=hc&vpx=222&vpy=75&dur=1071&hovh=301&hovw=167&tx=77&ty=178&sig=101327159706422357691&page=1&tbnh=142&tbnw=79&start=0&ndsp=29&ved=1t:429,r:1,s:0,i:85


    HTML
    http://www.srikanthtechnologies.com/blog/android/audioplayer.aspx


    HTML
    http://xjaphx.wordpress.com/2011/06/28/

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!