java合并MP3

[java]  view plain copy print ?
  1. File file1 = new File("C:\\mp3\\2.mp3");  
  2.         File file2 = new File("C:\\mp3\\3.mp3");   
  3.           
  4.         InputStream is1 = new FileInputStream(file1) ;   
  5.         InputStream is2 = new FileInputStream(file2) ;  
  6.           
  7.         OutputStream os = new FileOutputStream("c:/a.mp3") ;  
  8.           
  9.         byte[]b1=new byte[128];  
  10.         byte[]b2=new byte128 ];  
  11.         int len1 =0;  
  12.         int len2 =0;  
  13.         int index = 0;  
  14.           
  15.         while((len1 = is1.read(b1))!=-1){  
  16.             index++;  
  17.             if(index==1){  
  18.                 continue ;   
  19.             }  
  20.             os.write(b1, 0, len1 ) ;   
  21.         }  
  22.         index=0;  
  23.         while((len2 = is2.read(b2))!=-1){  
  24.             index++ ;  
  25.             os.write(b2, 0, len2 ) ;  
  26.         }  
  27.           
  28.         is1.close() ;  
  29.         is2.close() ;  
  30.         os.flush();  
  31.         os.close() ;  

合并时候两个MP3的格式必须是一样的,如果不是一样的第二个MP3将会无法正常播放。 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Java合并MP3文件,您可以使用JLayer库。以下是一个简单的示例代码,演示如何合并两个MP3文件: ```java import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import javazoom.jl.decoder.JavaLayerException; import javazoom.jl.player.Player; public class MP3Merger { public static void main(String[] args) { try { File file1 = new File("file1.mp3"); File file2 = new File("file2.mp3"); File mergedFile = new File("merged.mp3"); FileInputStream fis1 = new FileInputStream(file1); FileInputStream fis2 = new FileInputStream(file2); FileOutputStream fos = new FileOutputStream(mergedFile); byte[] buffer = new byte[4096]; int length; Player player1 = new Player(fis1); player1.play(); while (player1.isPlaying()) { // wait for player1 to finish playing } Player player2 = new Player(fis2); while (player2.isPlaying()) { length = fis2.read(buffer); fos.write(buffer, 0, length); } player2.close(); fis1.close(); fis2.close(); fos.close(); System.out.println("MP3 files merged successfully."); } catch (IOException | JavaLayerException e) { System.out.println("Error: " + e.getMessage()); } } } ``` 在这个示例中,我们首先创建了两个输入流,分别读取要合并的两个MP3文件(file1.mp3和file2.mp3)。然后,我们创建一个输出流,用于将两个文件的内容合并到一个新文件(merged.mp3)中。我们创建了一个缓冲区来读取文件内容,然后使用JLayer库的Player类播放第一个文件,以确保第一个文件播放完毕后再开始合并第二个文件。最后,我们关闭输入和输出流,并输出一条成功的消息。 请注意,这个示例只是一个简单的示例,您可能需要进行更多的错误处理和输入验证,以适应您的特定需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值