我想合并mp3音频文件,但没有成功。
这是我的代码。
public static void meargeAudio(List<File> filesToMearge)
{
while (filesToMearge.size()!=1){
try {
FileInputStream fistream1 = new FileInputStream(new File(filesToMearge.get(0).getPath())); //(/storage/emulated/0/Audio Notes/1455194356500.mp3) first source file
FileInputStream fistream2 = new FileInputStream(new File(filesToMearge.get(1).getPath()));//second source file
File file1 = new File(filesToMearge.get(0).getPath());
boolean deleted = file1.delete();
File file2 = new File(filesToMearge.get(1).getPath());
boolean deleted1 = file2.delete();
SequenceInputStream sistream = new SequenceInputStream(fistream1, fistream2);
FileOutputStream fostream = new FileOutputStream(new File(filesToMearge.get(0).getPath()),true);//destinationfile
int temp;
while ((temp = sistream.read()) != -1) {
// System.out.print( (char) temp ); // to print at DOS prompt
fostream.write(temp); // to write to file
}
filesToMearge.add(0,new File(filesToMearge.get(0).getPath()));
filesToMearge.remove(1);
filesToMearge.remove(1);
fostream.close();
sistream.close();
fistream1.close();
fistream2.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
例如:
第一个文件大小为12kb
第二个文件大小为10kb
最终文件大小为22kb
大小是准确的,但声音丢失了
没有错误,但在结果中我发现最终文件只包含第一个文件的音频,第二个文件的音频丢失了。
不知道问题出在哪里。如果有人知道解决方法,请帮帮我。
谢谢
inMovies
变量的声明在哪里? - ajdeguzman