2013-03-21 23 views
0

以下代碼對我來說工作正常。由於我正在使用android,因此我無法使用audiostream類。mp3 cutter android

  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文件?如何獲得框架的大小?是否有必要有一些起始重要的框架必須複製?

回答

1

如果你想在android中提取音頻的幀,你必須實現削波器。 看看this

+0

我知道,但我不明白,代碼... – 2013-03-21 11:06:10