Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 多个音频文件无法连接_Java_Android_Mediarecorder_Android Mediarecorder - Fatal编程技术网

Java 多个音频文件无法连接

Java 多个音频文件无法连接,java,android,mediarecorder,android-mediarecorder,Java,Android,Mediarecorder,Android Mediarecorder,我正在尝试创建一个简单的记录器,为用户提供“暂停”和“恢复”功能 由于Android不直接支持这一点,每当用户按下带有后缀_1、_2的“暂停”和“恢复”时,我都会创建单独的文件 我使用下面的代码连接它们 public void mergeAllAndSave() { // TODO Auto-generated method stub Enumeration<FileInputStream> allRecordings; Vector<FileInput

我正在尝试创建一个简单的记录器,为用户提供“暂停”和“恢复”功能

由于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不会显示任何错误

有人知道我犯了什么错误吗


谢谢。

这个问题的答案是。 PS:我不能将此作为评论,因为我没有足够的声誉