Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to limit audio recording time using Intent?

How can I limit recording when using intents?

I tried this code:

 Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
 intent.putExtra("android.intent.extra.durationLimit",5);    
 startActivityForResult(intent,RQS_RECORDING);

This code works fine when I record video. Time is countdown from 5 to 0 and after 5 seconds recording automatically stops. But this limited time does not work when I record sound. Why?

Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION);
intent.putExtra("android.intent.extra.durationLimit", 5);
startActivityForResult(intent, RQS_RECORDING);

Why does this 5-second time limit not work when I record sound?

like image 819
mira Avatar asked Mar 22 '13 09:03

mira


3 Answers

I Have a similar problem and I fixed my problem using below code snippet:

Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 5);
startActivityForResult(this, cameraIntent,CAMERA_PIC_REQUEST);

where CAMERA_PIC_REQUEST is my int type as:

private static final int CAMERA_PIC_REQUEST = 1337;
like image 120
naeemgik Avatar answered Nov 19 '22 20:11

naeemgik


you should be try with MediaRecorder mRecorder = new MediaRecorder(); and mRecorder.setMaxDuration(5000) // 5 seconds;

like image 2
Ketan Mehta Avatar answered Nov 19 '22 21:11

Ketan Mehta


private void recordVideo() {
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO);

// set video quality
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);

intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set Video file
startActivityForResult(intent, CAMERA_CAPTURE_VIDEO_REQUEST_CODE);
}

fileuri is your filepath. Try this.

like image 1
Parth Bhayani Avatar answered Nov 19 '22 21:11

Parth Bhayani