Я работаю над изменением тегов ID3, метаданных в аудиофайлах, таких как:
- Исполнитель
- Заголовок
- Альбом
- и др.
И основная точка. редактируемые теги ID3 должны отображаться только в моем приложении.
Я работаю над изменением тегов ID3, метаданных в аудиофайлах, таких как:
И основная точка. редактируемые теги ID3 должны отображаться только в моем приложении.
Я думаю, что это то, что вы ищете MyID3 library, чтобы установить и получить теги для медиафайла.
Загрузите этот файл jar MyID3_for_android и добавьте его в свой путь построения проекта.
вот пример кода. здесь pathdata
- путь к файлу аудиофайла.
File src = new File(pathdata);
MusicMetadataSet src_set = null;
try {
src_set = new MyID3().read(src);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} // read metadata
if (src_set == null) // perhaps no metadata
{
Log.i("NULL", "NULL");
}
else
{
try{
IMusicMetadata metadata = src_set.getSimplified();
String artist = metadata.getArtist();
String album = metadata.getAlbum();
String song_title = metadata.getSongTitle();
Number track_number = metadata.getTrackNumber();
Log.i("artist", artist);
Log.i("album", album);
}catch (Exception e) {
e.printStackTrace();
}
File dst = new File(pathdata);
MusicMetadata meta = new MusicMetadata("name");
meta.setAlbum("Chirag");
meta.setArtist("CS");
try {
new MyID3().write(src, dst, src_set, meta);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ID3WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // write updated metadata
}
Счастливое кодирование:)
Собственно, код FasteKerinns неплох. Вы должны просто изменить
new MyID3(). write (src, dst, src_set, meta);
to
new MyID3(). update (src, src_set, meta);
что означает, что вам вообще не нужна переменная dst.
Дополнительно, у меня есть эта часть кода, которая обновляет песню, которая была изменена в MediaStore:
scanner=new MediaScannerConnection(getApplicationContext(),
new MediaScannerConnectionClient() {
public void onScanCompleted(String path, Uri uri) {
scanner.disconnect();
}
public void onMediaScannerConnected() {
scanner.scanFile(path, "audio/*");
}
});
scanner.connect();
И самое главное, что отредактированные теги ID3 были показаны только в моем приложении.
Если вы отредактируете файл, это все увидит. Вы можете создать свою собственную базу данных медиафайлов (например, Android database) и просто сохранить там измененные данные.