本帖最后由 蔡增辉 于 2013-5-9 11:29 编辑
写了个代码,想把两个独立的MP3文件合并为一个,结果合并得到的文件只能播放排在前面的那个MP3文件,后面的那个无法播放,求助大家帮忙看下;
import java.io.*;
import java.util.*;
public class MergeMp3Demo {
public static void main(String[] args) throws IOException{
Vector<InputStream> v=new Vector<InputStream>();
v.add(new FileInputStream("C:/Users/FC-JAVA/Desktop/tmp/1.mp3"));
v.add(new FileInputStream("C:/Users/FC-JAVA/Desktop/tmp/2.mp3"));
Enumeration<InputStream> en=v.elements();
SequenceInputStream sis =new SequenceInputStream(en);
FileOutputStream fos=new FileOutputStream("C:/Users/FC-JAVA/Desktop/tmp/merge.mp3");
byte[] by=new byte[1024];
int len=0;
while ((len=sis.read(by))!=-1){
fos.write(by,0,len);
}
sis.close();
fos.close();
}
}
追补:最终用不同播放器试了下,系统自带的播放器只能播放第一首,千千静听两首都可以播放,看来正如Chelsea_Lampard所说的是两首音乐之间衔接的问题;多谢各位的回答。 |