如何在应用程序崩溃时保存录音?

时间:2017-05-23 16:56:38

标签: android ios audio ionic-framework plugins

我正在尝试为Ionic应用构建自定义Android插件。此插件用于录制音频。当应用程序崩溃或被用户杀死时,我的FileOutputStrem未正确关闭,而我的MediaPlayer不再播放该文件(具有正确的文件路径)。我正在寻找一种自动保存功能的解决方案。所以我想在录制过程中每隔x秒保存一次录音。你知道我怎么能做到这一点吗?

录制完成如下:

final byte data[] = new byte[bufferSize];
    String filename = getTempFilename();
    FileOutputStream os = null;
    isRecording = recording;

    try {
        os = context.openFileOutput(filename, Context.MODE_PRIVATE);
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }


    if (os != null) {
        while (isRecording) {
            int read = recorder.read(data, 0, bufferSize);

            if (AudioRecord.ERROR_INVALID_OPERATION != read) {
                try {
                    os.write(data);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        try {
            os.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

如果需要更多信息,请告诉我

PS。我还需要iOS的解决方案:)

1 个答案:

答案 0 :(得分:0)

您是否尝试在finally块中添加os.close