Android使用intent限制时间记录

时间:2013-03-22 09:58:30

标签: android android-intent time limit record

使用意图时如何限制录制? 我试过这段代码:

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

当我录制视频时,这段代码工作正常。时间从5倒数到0,5秒后录音自动停止。但是当我录制声音时,这个有限的时间不起作用。为什么?

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

为什么录制声音时这个时间限制5秒不起作用?

4 个答案:

答案 0 :(得分:8)

我有类似的问题,我使用下面的代码片段解决了我的问题:

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

其中CAMERA_PIC_REQUEST是我的int类型:

private static final int CAMERA_PIC_REQUEST = 1337;

答案 1 :(得分:1)

你应该尝试使用MediaRecorder mRecorder = new MediaRecorder(); 和mRecorder.setMaxDuration(5000)// 5秒;

答案 2 :(得分:1)

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是你的文件路径。试试这个。

答案 3 :(得分:0)

    intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 60);