2013-03-22 56 views
14

如何在使用意圖時限制錄製內容? 我tryed這樣的代碼:當我錄製視頻使用意圖錄制Android限制時間

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

你有答案嗎? – 2013-04-11 12:29:39

+0

恐怕沒有得到答案。看起來溶劑不存在:-) – mira 2013-04-14 16:51:52

回答

1

你應該嘗試使用MediaRecorder mRecorder = new MediaRecorder(); 和mRecorder.setMaxDuration(5000)// 5秒;

0
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 60); 
+0

MediaStore.EXTRA_DURATION_LIMIT與「android.intent.extra.durationLimit」 – rcorbellini 2014-07-25 19:44:24

7

我有一個類似的問題,我用下面的代碼片段固定我的問題:

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; 
+0

完全相同謝謝! 'cameraIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,5);'完全爲我工作。 :)儘管我將這個數字改爲60,持續了60秒。 – Azurespot 2015-04-23 03:15:51

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是你的文件路徑。嘗試這個。