Android limitar el tiempo de grabación con la intención
¿Cómo puedo limitar la grabación cuando se utiliza intenciones? He probado este código:
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); intent.putExtra("android.intent.extra.durationLimit",5); startActivityForResult(intent,RQS_RECORDING);
Esta parte del código funciona bien cuando grabo vídeo. El tiempo es la cuenta atrás de 5 a 0 y después de 5 segundos la grabación se detiene automáticamente. Pero este tiempo limitado no funciona cuando grabo sonido. Por qué ?
- Java cómo incrementar un int 1 cada segundo hasta que llegue a 15
- APIs meteorológicas para Android
- SetMinDate (...) para DatePicker no funciona cuando se invoca una segunda vez
- ¿Cómo puedo agregar un nuevo botón en el widget del selector de fechas en android?
- Android: cambia el formato de hora según el formato de hora actual del dispositivo
Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); intent.putExtra("android.intent.extra.durationLimit", 5); startActivityForResult(intent, RQS_RECORDING);
¿Por qué este límite de tiempo de 5 segundos no funciona cuando grabo sonido?
- Detener temporizador sin destruir y volver a crear - Android
- El tiempo de conexión expiro
- Tiempo inactivo de actividad para HistoryRecord?
- que muestran la hora actual en TimePicker en android
- Problema de análisis de tiempo en Android
- Cómo administrar la expiración de prueba sin conexión para una aplicación de Android?
- Medir el tiempo transcurrido entre dos MotionEvents en Android
- Problema de Android para averiguar la última corrección GPS reciente
Tengo un problema similar y solucioné mi problema usando el siguiente fragmento de código:
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE); cameraIntent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 5); startActivityForResult(this, cameraIntent,CAMERA_PIC_REQUEST);
Donde CAMERA_PIC_REQUEST es mi tipo de int como:
private static final int CAMERA_PIC_REQUEST = 1337;
Usted debe intentar con MediaRecorder mRecorder = new MediaRecorder (); Y mRecorder.setMaxDuration (5000) // 5 segundos;
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 es su ruta de acceso. Prueba esto.
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 60);