Note that there are some explanatory texts on larger screens.

plurals
  1. POINTENT.ACTION_VIDEO_CAPTURE not saving file to custom location Uri
    text
    copied!<p>I have created an app like this. It has a Button , on the click of button the video capture starts.</p> <p>now I have a code like this for it:- </p> <pre><code>public class VideoCaptureComponentActivity extends Activity implements View.OnClickListener { VideoView vv; ImageButton ib; TextView tv; Intent i; final static int cameraData=0; File path = null; Uri myVideo; private static final int CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE = 200; private Uri fileUri; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); vv= (VideoView) findViewById(R.id.vvVideoCapture); ib=(ImageButton) findViewById(R.id.btnVideo); ib.setOnClickListener(this); tv= (TextView) findViewById(R.id.tvFilePath); } @Override public void onClick(View v) { switch(v.getId()) { case R.id.btnVideo: Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); fileUri = getOutputMediaFileUri(); // create a file to save the video intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); // set the video image quality to high // start the Video Capture Intent startActivityForResult(intent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE); break; } } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE) { if (resultCode == RESULT_OK) { myVideo= data.getData(); tv.setText(myVideo.toString()); vv.setVideoURI(myVideo); vv.setMediaController(new MediaController(this)); vv.requestFocus(); vv.start(); } } } /** Create a file Uri for saving an image or video */ private static Uri getOutputMediaFileUri() { return Uri.fromFile(getOutputMediaFile()); } /** Create a File for saving an image or video */ private static File getOutputMediaFile() { File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES), "MyCameraApp"); if (! mediaStorageDir.exists()){ if (! mediaStorageDir.mkdirs()){ Log.d("MyCameraApp", "failed to create directory"); return null; } } File mediaFile; mediaFile = new File(mediaStorageDir.getPath() + File.separator + "VID_CAPTURED" + ".mp4"); return mediaFile; } } </code></pre> <p>now after I m capturing the video the application is crashing.</p> <pre><code>07-06 17:12:09.447: E/AndroidRuntime(2917): FATAL EXCEPTION: main 07-06 17:12:09.447: E/AndroidRuntime(2917): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=200, result=-1, data=Intent { }} to activity {com.optimus.mobile.survey/com.optimus.mobile.survey.VideoCaptureComponentActivity}: java.lang.NullPointerException 07-06 17:12:09.447: E/AndroidRuntime(2917): at android.app.ActivityThread.deliverResults(ActivityThread.java:3712) 07-06 17:12:09.447: E/AndroidRuntime(2917): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3754) 07-06 17:12:09.447: E/AndroidRuntime(2917): at android.app.ActivityThread.access$2800(ActivityThread.java:135) 07-06 17:12:09.447: E/AndroidRuntime(2917): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2162) 07-06 17:12:09.447: E/AndroidRuntime(2917): at android.os.Handler.dispatchMessage(Handler.java:99) 07-06 17:12:09.447: E/AndroidRuntime(2917): at android.os.Looper.loop(Looper.java:143) 07-06 17:12:09.447: E/AndroidRuntime(2917): at android.app.ActivityThread.main(ActivityThread.java:4914) 07-06 17:12:09.447: E/AndroidRuntime(2917): at java.lang.reflect.Method.invokeNative(Native Method) 07-06 17:12:09.447: E/AndroidRuntime(2917): at java.lang.reflect.Method.invoke(Method.java:521) 07-06 17:12:09.447: E/AndroidRuntime(2917): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 07-06 17:12:09.447: E/AndroidRuntime(2917): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 07-06 17:12:09.447: E/AndroidRuntime(2917): at dalvik.system.NativeStart.main(Native Method) 07-06 17:12:09.447: E/AndroidRuntime(2917): Caused by: java.lang.NullPointerException 07-06 17:12:09.447: E/AndroidRuntime(2917): at com.optimus.mobile.survey.VideoCaptureComponentActivity.onActivityResult(VideoCaptureComponentActivity.java:82) 07-06 17:12:09.447: E/AndroidRuntime(2917): at android.app.Activity.dispatchActivityResult(Activity.java:3931) 07-06 17:12:09.447: E/AndroidRuntime(2917): at android.app.ActivityThread.deliverResults(ActivityThread.java:3708) 07-06 17:12:09.447: E/AndroidRuntime(2917): ... 11 more </code></pre> <p>basically the problem is that that<br> in the code </p> <pre><code>Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); fileUri = getOutputMediaFileUri(); intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0); </code></pre> <p>here it is not saving the file to location set , I dont know whats the problem . I took this code from this link <a href="http://developer.android.com/guide/topics/media/camera.html" rel="nofollow">http://developer.android.com/guide/topics/media/camera.html</a></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload