機能が完成したボイスレコーダーを作成したいのですが、この機能の一時停止と再開機能を実装する必要があります。2つのオーディオファイルをマージする必要がありますが、正確な結果を得ることができません。シーケンス入力ストリームを使用しましたが、このマージは最初のファイルのみです。これは私のコードです
FileInputStream fis1 = new FileInputStream(mergeFile.get(0));
@SuppressWarnings("resource")
FileInputStream fis2 = new FileInputStream(mergeFile.get(1));
Vector<FileInputStream> v = new Vector<FileInputStream>();
v.add(fis1);
v.add(fis2);
Enumeration<FileInputStream> e = v.elements();
String filepath = Environment.getExternalStorageDirectory()
.getPath();
File file = new File(filepath, "Test");
file.mkdir();
// InputStream inputStream1 = new FileInputStream(recording1);
// InputStream inputStream2 = new FileInputStream(recording2);
@SuppressWarnings("resource")
SequenceInputStream sistream = new SequenceInputStream(e);
FileOutputStream fostream = new FileOutputStream(file
+ "/myfile.mp3");
int temp = 0;
while ((temp = sistream.read()) != -1) {
// System.out.print( (char) temp ); // to print at DOS prompt
fostream.write(temp); // to write to file
}
fostream.close();
sistream.close();
// recording1.close();
// r/ecording2.close();
}
最終結果を再生すると、最初のファイルのみが再生されます。