【问题标题】:How can I save an audio recording on app crash?如何在应用程序崩溃时保存录音?
【发布时间】:2017-05-23 16:56:37
【问题描述】:

我正在尝试为 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 的解决方案 :)

【问题讨论】:

    标签: android ios audio ionic-framework plugins


    【解决方案1】:

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

    【讨论】:

    • 是的,我做到了,但问题是它可能永远不会到达那部分,因为用户杀死应用程序的崩溃
    猜你喜欢
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多