2012-09-17 12 views
14

Desidero ottenere informazioni dai miei file multimediali (principalmente mp3) e ottengo solo valori null da quei valori che voglio. Ho provato tutte le chiavi per extractMetadata(key). Sto saltando/manca qualcosa?Android MediaMetadataRetriever restituisce valori null dalla maggior parte delle chiavi

base Codice:

MediaMetadataRetriever f = new MediaMetadataRetriever(); 
f.setDataSource(item.getFilePath()); 

String title = f.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE); 

io capisco valori corretti con la durata chiave (MediaMetadataRetriever.METADATA_KEY_DURATION) e mimeType chiave (MediaMetadataRetriever.METADATA_KEY_MIMETYPE), che indica che l'origine dati/filepath sta lavorando.

Poweramp (lettore multimediale popolare) è in grado di leggere i valori dei metadati, come titolo/autore/compositore ecc. Poiché visualizza questi valori aggiuntivi nell'interfaccia utente. O forse Poweramp ottiene questi valori da qualche altra fonte o metodo?

Qualsiasi aiuto è apprezzato.

+0

quale versione di id3 utilizza i metadati? – njzk2

+0

Sei in grado di farlo, mi sono bloccato con questa metadata di editing anche da solo utilizzando itunes e tag editor gratis, ma non ho ottenuto nulla – cutiko

risposta

1

Questo può sembrare sciocco ma hai provato con molti file mp3 diversi? Solo con la mia esperienza se ottieni i tuoi file mp3 illegalmente le chiavi a volte semplicemente non ci sono.

+0

Sì, ho provato principalmente su podcast gratuiti. Poweramp sembra estrarre informazioni extra, e non so cosa faccia in modo diverso. – gorn

0

Poweramp mantiene il proprio database in /data/data/com.maxmpz.audioplayer/databases/folders.db avrete bisogno di un dispositivo radicata per indagare questo database. Potete inviarmi un pm se volete maggiori dettagli

+0

Non voglio recuperare i dati da un'app di terze parti. Preferisco fare affidamento sull'API ufficiale e MediaMetadataRetriever non sembra funzionare correttamente. Alla ricerca di alternative se necessario. – gorn

0

Il valore di meta data associato al dato codice chiave in caso di successo; null in caso di fallimento.