0

以下代码对我来说工作正常。由于我正在使用 android,我不能使用 audiostream 类。

           File correct = new File("data1.mp3");
           File file =new File("data.mp3");
               correct.createNewFile();
           FileInputStream in = new FileInputStream(file);
           FileOutputStream out = new FileOutputStream(correct);

           byte[] buffer = new byte[in.available()];


           for(int i=0;i<1000;i++){

               in.read(buffer, 0, 2048);

               out.write(buffer, 0, 2048);

           }

           in.close();
           out.close();

现在,如果我运行以下代码,它会给出错误并且不起作用

               correct.createNewFile();
           FileInputStream in = new FileInputStream(file);
           FileOutputStream out = new FileOutputStream(correct);

           byte[] buffer = new byte[in.available()];

           in.skip(2048);
           for(int i=0;i<1000;i++){

               in.read(buffer, 0, 2048);

               out.write(buffer, 0, 2048);

           }

           in.close();
           out.close();

同样的事情,当我运行这段代码时,它给出了错误

               correct.createNewFile();
           FileInputStream in = new FileInputStream(file);
           FileOutputStream out = new FileOutputStream(correct);

           byte[] buffer = new byte[in.available()];


           for(int i=0;i<1000;i++){

               in.read(buffer, 0, 2048);
               in.skip(2048);
               out.write(buffer, 0, 2048);

           }

           in.close();
           out.close();

所以我的实际问题是如何指定正确的偏移量并将帧复制到新的 mp3 文件中?如何获得框架的大小?是否有必要复制一些起始的重要帧?

4

1 回答 1

1

如果要在 android 中提取音频的帧,则必须实现剪辑器。看看这个

于 2013-03-21T10:11:24.917 回答