4
我试图制作一个记录视频并将其保存到SD卡的应用程序,当它再次运行时,它会覆盖以前的视频。Android Intent具有EXTRA_OUTPUT的MediaStore.ACTION_VIDEO_CAPTURE在播放时崩溃,重拍
问题是,当我指定Intent extra EXTRA_OUTPUT时,摄像机将视频记录到该位置,但在重新拍摄和播放点击时发生崩溃。
我使用的代码如下:
_path = Environment.getExternalStorageDirectory() + "/examplevideo.3gp";
File file = new File(_path);
Uri outputFileUri = Uri.fromFile(file);
Intent intent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, 0);
当我停止拍摄时,logcat的说
VERBOSE/videocamera(6602): Setting current video filename: null
这很奇怪,似乎是一个问题。
当我按下播放键,我得到一个错误,但应用程序继续运行(录制的视频犯规播放)
ERROR/videocamera(6602): Couldn't view video file:///mnt/sdcard/examplevideo.3gp
ERROR/videocamera(6602): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///mnt/sdcard/examplevideo.3gp }
ERROR/videocamera(6602): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)
ERROR/videocamera(6602): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
ERROR/videocamera(6602): at android.app.Activity.startActivityForResult(Activity.java:2817)
ERROR/videocamera(6602): at android.app.Activity.startActivity(Activity.java:2923)
..
当我按下彻底重修,应用程序崩溃与错误:
ERROR/AndroidRuntime(6602): FATAL EXCEPTION: main
ERROR/AndroidRuntime(6602): java.lang.IllegalArgumentException: Unknown URL file:///mnt/sdcard/examplevideo.3gp
ERROR/AndroidRuntime(6602): at android.content.ContentResolver.delete(ContentResolver.java:671)
ERROR/AndroidRuntime(6602): at com.android.camera.VideoCamera.deleteCurrentVideo(VideoCamera.java:1010)
ERROR/AndroidRuntime(6602): at com.android.camera.VideoCamera.discardCurrentVideoAndInitRecorder(VideoCamera.java:476)
ERROR/AndroidRuntime(6602): at com.android.camera.VideoCamera.onClick(VideoCamera.java:420)
ERROR/AndroidRuntime(6602): at android.view.View.performClick(View.java:2408)
...
奇怪的是,这个视频保存到给定的位置,我可以从我的SD卡播放它,它只是照相机活动无法识别它。
一些帮助或想法将不胜感激!