Android studio 如何从Android Studio java应用程序将元数据写入mp3文件?

Android studio 如何从Android Studio java应用程序将元数据写入mp3文件?,android-studio,mp3,mediametadataretriever,Android Studio,Mp3,Mediametadataretriever,下面的第一个方法(getMetadataTitle)只是从mp3文件检索标题元数据。它很好用。如何在mp3文件中写入或更新标题元数据,请参见下面的第二种方法(putMetadataTitle) 下面是我的问题中完整的putMetadataTitle()方法。我下载了MyID3_for_android jar文件,如问题9707572和答案所示 private String getMetadataTitle(Context myContext, Uri myMp3) { MediaMeta

下面的第一个方法(getMetadataTitle)只是从mp3文件检索标题元数据。它很好用。如何在mp3文件中写入或更新标题元数据,请参见下面的第二种方法(putMetadataTitle)


下面是我的问题中完整的putMetadataTitle()方法。我下载了MyID3_for_android jar文件,如问题9707572和答案所示

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!
}
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();
    }
}