使用意图时如何限制录制? 我试过这段代码:
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秒不起作用?
答案 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);