16

使用意图时如何限制录制?

我试过这段代码:

 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

4 回答 4

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;
于 2014-12-29T17:45:33.423 回答
2

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

于 2013-06-20T06:01:31.930 回答
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 是您的文件路径。尝试这个。

于 2015-07-13T06:10:51.670 回答
0
    intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 60);
于 2014-03-13T10:01:44.973 回答