我正在尝试为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的解决方案:)
答案 0 :(得分:0)
您是否尝试在finally块中添加os.close
?