我正在创建一个Android录音机应用程序。我正在其中实现记录和暂停功能。
这是我的代码:
private void mergeFile(File combineFile, File output){
File[] listofFiles=MaverickDir.listFiles();
FileInputStream fisToFinal = null;
FileOutputStream fos = null;
try {
fos = new FileOutputStream(combineFile);
fisToFinal = new FileInputStream(combineFile);
for(int i=0;i<listofFiles.length;i++){
if(!listofFiles[i].exists())
continue;
FileInputStream fileInputStream = new FileInputStream(listofFiles[i]);
SequenceInputStream sis = new SequenceInputStream(fisToFinal, fileInputStream);
byte[] buf = new byte[1024];
try {
for (int readNum; (readNum = fileInputStream.read(buf)) != -1;)
fos.write(buf, 0, readNum);
}
finally {
if(fileInputStream!=null){
fileInputStream.close();
}
if(sis!=null){
sis.close();
}
}
}
}
catch (IOException e) {
e.printStackTrace();
}
finally{
try {
if(fos!=null){
fos.flush();
fos.close();
}
if(fisToFinal!=null){
fisToFinal.close();
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
这段代码不能帮助我合并所有录制的暂停,再次录制暂停和再次录制暂停的录音。
我只是得到一个包含录制总长度的文件,只有录制的初始音频片段(直到您第一次按下暂停)。
合并在这里没有发生。我该怎么做才能解决它...??
请帮忙..
在此场景中,应逐帧录制音频。
我已经在这样的应用程序中录制了视频。
所以我建议你使用这个库:ffmpeg。