1

2 つのファイルを連結するにはどうすればよいですか。

2 つのオーディオ パーツがあります (それぞれに同じソースからの約 3 秒のオーディオが含まれています)。これらの 2 つのファイルをマージして、Android メディア プレーヤーでテーマを再生しようとしています。現時点では、以下の方法を使用しています。これは正常に機能しますが、多くの時間がかかります (私のギャラクシー ネクサスでは約 13 秒)。

私の質問は、これをより速く行う方法はありますか?

   public static void merge(File audioFile1, File audioFile2, File outputFile){
    long timeStart= System.currentTimeMillis();
    try {

        FileInputStream fistream1 = new FileInputStream(audioFile1);
        FileInputStream fistream2 = new FileInputStream(audioFile2);
        SequenceInputStream sistream = new SequenceInputStream(fistream1, fistream2);
        FileOutputStream fostream = new FileOutputStream(outputFile);

        int temp;

        while( ( temp = sistream.read() ) != -1)
        {

            fostream.write(temp);  
        }

        fostream.close();
        sistream.close();
        fistream1.close();          
        fistream2.close();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    long timeEnd= System.currentTimeMillis();

    Log.e("merge timer:", "milli seconds:" + (timeEnd - timeStart));
}
4

1 に答える 1