2013-03-22 9 views
14

Jak ograniczyć nagrywanie podczas korzystania z intencji? tryed ten kod:Zapisywanie limitu czasu w Androidzie z użyciem intencji

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

Ta część kod działa poprawnie, gdy nagranie wideo. Czas to odliczanie od 5 do 0, a po 5 sekundach automatyczne zatrzymanie nagrywania. Ale ten ograniczony czas nie działa, gdy nagrywam dźwięk. Czemu ?

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

Dlaczego ten limit czasu 5 sekund nie działa, gdy nagrywam dźwięk?

+0

Masz odpowiedzi na pytania? –

+0

Niestety nie mam odpowiedzi. Wydaje się, że nie istnieje rozwiązanie :-) – mira

Odpowiedz

1

powinieneś spróbować z MediaRecorder mRecorder = new MediaRecorder(); i mRecorder.setMaxDuration (5000) // 5 sekund;

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

MediaStore.EXTRA_DURATION_LIMIT to dokładnie to samo, co "android.intent.extra.durationLimit" – rcorbellini

7

Mam podobny problem i naprawiłem mój problem za pomocą poniższego fragmentu kodu:

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

gdzie CAMERA_PIC_REQUEST jest mój typu int jako:

private static final int CAMERA_PIC_REQUEST = 1337; 
+0

Dziękuję! 'cameraIntent.putExtra (MediaStore.EXTRA_DURATION_LIMIT, 5);' całkowicie pracował dla mnie. :) Chociaż zmieniłem numer na 60, przez 60 sekund. – Azurespot

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); 
} 

pliku URI jest twój ścieżka pliku. Spróbuj tego.