我正在使用Android媒体录制器同时录制视频和音频...
我正在检查剪辑长度,如果小于2秒,则删除它...
但问题是,如果我从文件路径检查文件的持续时间,每次MediaRecorder抛出异常后都会抛出异常,即使我录制了10秒的音频?
但是当我注释掉检查创建的视频持续时间的代码时,它可以正常工作...
以下是我的代码:
if (prMediaRecorder != null) {
try {
prMediaRecorder.stop();
timer.cancel();
PathNameArray.add(prRecordedFile.getPath());
Log.e("No Exception", "File Added and Saved");
////////////// Check Length and Delete File
if (prRecordedFile != null) {
if (MediaPlayer.create(getApplicationContext(), Uri.fromFile(new File(
prRecordedFile.getPath()))).getDuration() <= 2000) {
File file = new File(prRecordedFile.getPath());
boolean deleted = file.delete();
Toast.makeText(getApplicationContext(),
"Video Clip Length Too Short, Clip Not Added",
Toast.LENGTH_SHORT).show();
PathNameArray.remove(PathNameArray.size() - 1);
}
}
} catch (RuntimeException e) {
Toast.makeText(getApplicationContext(),
"Corrupt Clip, Clip Not Added",
Toast.LENGTH_SHORT).show();
File file = new File(prRecordedFile.getPath());
boolean deleted = file.delete();
timer.cancel();
Log.e("Exception Caught", "File Not Added");
} finally {
try {
prCamera.reconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
prMediaRecorder = new MediaRecorder();
MarkerName = null;
请帮我看看,我的代码有问题吗?