首页 > 解决方案 > android复制mp3文件成功但持续时间没有改变

问题描述

我尝试将 mp3 文件复制到外部存储中并限制新文件的持续时间。它可以工作,但是当它开始时,虽然我跑到限制时间,它仍然像旧文件一样显示结束时间。

 private void copy(File in, File out) throws IOException {
        FileInputStream is = null;
        FileOutputStream os = null;
        try {
            is = new FileInputStream(in);
            os = new FileOutputStream(out);
            byte[] buffer = new byte[1024];
            int length;

            while ((length = is.read(buffer)) > 0 && out.length()<175642) {
                os.write(buffer, 0, length);
            }
        } finally {
            assert is != null;
            is.close();
            assert os != null;
            os.close();
        }
    }

我该如何解决。我真的很期待你的帮助。祝大家拥有美好的一天!

标签: javaandroidfile

解决方案


您只需剪切文件的其余部分。这会导致一种损坏的文件,因为头块中的数据(例如长度)不再正确。

有关 mp3 文件格式的一些信息: https ://en.wikipedia.org/wiki/MP3

我强烈建议在缩短文件后调整标题信息。


推荐阅读