Reputation: 93
The first method below (getMetadataTitle) simply retrieves the Title metadata from an mp3 file. It works fine. How would one write or update the Title metadata in the mp3 file, see the second method (putMetadataTitle) below?
private String getMetadataTitle(Context myContext, Uri myMp3) {
MediaMetadataRetriever retriever;
String title = null;
try {
retriever = new MediaMetadataRetriever();
retriever.setDataSource(myContext, myMp3);
title = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE);
} catch (Exception e) {
e.printStackTrace();
}
return title;
}
private void putMetadataTitle(String newTitle, Uri myMp3) {
// need help here!
}
Upvotes: 0
Views: 1351
Reputation: 93
Here is the completed putMetadataTitle() method from my question. I downloaded the MyID3_for_android jar file as suggested in question 9707572 and answers, How to get and set (change) ID3 tag (metadata) of audio files?.
private void putMetadataTitle(String newTitle, Uri myUri) {
File myMp3 = new File(myUri.getPath());
MusicMetadataSet mySet = null;
MusicMetadata myMetadata = new MusicMetadata("name");
try {
mySet = new MyID3().read(myMp3);
if (mySet == null) {
Log.i("NULL", "NULL");
} else {
myMetadata.setSongTitle(newTitle);
new MyID3().update(myMp3, mySet, myMetadata);
}
} catch (Exception e) {
e.printStackTrace();
}
}
Upvotes: 1