Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:编辑音频文件的ID3标记会损坏文件_Android - Fatal编程技术网

Android:编辑音频文件的ID3标记会损坏文件

Android:编辑音频文件的ID3标记会损坏文件,android,Android,我正在尝试在我的android应用程序中编辑音频文件的元数据。在谷歌搜索了一段时间后,我发现这是一条可行之路 这是我的密码 public class TagEditor { public static void changeTag(String pathdata) { File src = new File(pathdata); MusicMetadataSet src_set = null; try { src

我正在尝试在我的android应用程序中编辑音频文件的元数据。在谷歌搜索了一段时间后,我发现这是一条可行之路

这是我的密码

public class TagEditor {

    public static void changeTag(String 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.setSongTitle("Varun");
//            meta.setArtist("CS");
            try {
                new MyID3().update(src, 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
        }
    }
}
问题是,通过此代码更改标记对我的音乐文件中的标记没有任何影响。相反,该文件会被损坏并变得无法播放


我找到了答案,在评论中,一些人提出了类似的问题,但没有提出解决问题的方案。似乎它对其他人有效。有人能帮帮我吗

没有回答这个问题,但是你可以用Jaudiotager来代替@DanGravell谢谢你的建议,我会尝试一下。不回答问题,但你可以用Jaudiotager来代替@丹格拉威尔:谢谢你的建议,我会试试看。