Няколко аудио файла няма да се свържат

Опитвам се да създам прост рекордер, който дава на потребителя функционалност „пауза“ и „възобновяване“.

Тъй като Android не поддържа това директно, създавам отделни файлове всеки път, когато потребителят натисне „Пауза“ и „Възобновяване“ с наставките _1, _2 и т.н.

Използвам кода по-долу, за да ги свържа

public void mergeAllAndSave() {
    // TODO Auto-generated method stub
    Enumeration<FileInputStream> allRecordings;
    Vector<FileInputStream> audiofiles = new Vector<FileInputStream>();

    for (int i = 1; i < count+1; i++) {
        try {
            audiofiles.add(new FileInputStream(Environment.getExternalStorageDirectory().getPath() + "/"+ AUDIO_RECORDER_FOLDER + "/" + _filename + "_"+ i + file_exts[currentFormat]));
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    allRecordings = audiofiles.elements();

    SequenceInputStream siStream = new SequenceInputStream(allRecordings);
    try {

        FileOutputStream foStream = new FileOutputStream(Environment.getExternalStorageDirectory().getPath() + "/"+ AUDIO_RECORDER_FOLDER + "/" + _filename + file_exts[currentFormat]);
        int temp;
        while ((temp = siStream.read() ) != -1) {
            foStream.write(temp);   
        }
        foStream.close();
        siStream.close();
    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}       

Кодът работи добре. Дава ми един файл. Той обаче съдържа съдържанието само на първия файл. Logcat не показва никакви грешки.

Някой с идеи каква е грешката, която правя?

Благодаря.


person Vivek Todi    schedule 26.12.2013    source източник


Отговори (1)


Отговорът на този въпрос е тук.
PS: Не мога да добавя това като коментар, защото нямам достатъчна репутация.

person Community    schedule 27.12.2013