How To Use Mediarecorder To Capture Video On Android?
I would like to create a short video clip using the MediaRecorder, but I don't know how to use it. In my manifest file I added these permissions before the application-end-tag:
Solution 1:
First declare the permissions in your Manifest file...
<uses-permissionandroid:name="android.permission.RECORD_AUDIO" /><uses-permissionandroid:name="android.permission.RECORD_VIDEO" /><uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permissionandroid:name="android.permission.CAMERA" /><uses-featureandroid:name="android.hardware.Camera"/>
Then in your main app code...
Camera cam = Camera.open();
cam.unlock();
if(recorder == null) { recorder=new MediaRecorder(); }
recorder.setCamera(camera);
recorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
recorder.setOutputFile(fileName);
recorder.setPreviewDisplay(holder.getSurface());
try{ recorder.prepare(); recorder.start(); }
catch( IOException e ) { e.printStackTrace(); }
Solution 2:
To advertise that your application depends on having a camera, put a tag in the manifest file:
<manifest... ><uses-featureandroid:name="android.hardware.camera"android:required="true" />
...
Record a Video with a Camera App
staticfinalintREQUEST_VIDEO_CAPTURE=1;
privatevoiddispatchTakeVideoIntent() {
IntenttakeVideoIntent=newIntent(MediaStore.ACTION_VIDEO_CAPTURE);
if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {
startActivityForResult(takeVideoIntent, REQUEST_VIDEO_CAPTURE);
}
}
// View the Video
@OverrideprotectedvoidonActivityResult(int requestCode, int resultCode,Intent intent) {
if (requestCode == REQUEST_VIDEO_CAPTURE && resultCode == RESULT_OK)
{
UrivideoUri= intent.getData();
mVideoView.setVideoURI(videoUri);
}
}
Post a Comment for "How To Use Mediarecorder To Capture Video On Android?"