Estoy usando el android.provider.MediaStore.ACTION_VIDEO_CAPTURE
. Me preguntaba si hay una manera de cambiar el tiempo máximo permitido por grabación. INTENTÉ AGREGAR Intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,60000);//max of 60 seconds
pero continúa registrando pase. Gracias por adelantado.¿Es posible establecer un tiempo máximo permitido para la grabación de Android con intención?
Respuesta
Uso MediaRecorder
/**
* Starts a new recording.
*/
public void start() throws IOException {
recorder = new MediaRecorder();
String state = android.os.Environment.getExternalStorageState();
if (!state.equals(android.os.Environment.MEDIA_MOUNTED)) {
throw new IOException("SD Card is not mounted. It is " + state
+ ".");
}
// make sure the directory we plan to store the recording in exists
File directory = new File(path).getParentFile();
System.out.println("start() directory > " + directory);
if (!directory.exists() && !directory.mkdirs()) {
throw new IOException("Path to file could not be created.");
}
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); // Sets the
// audio source
// to be used
// for recording
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); // Sets
// the
// format
// of
// the
// output
// file
// produced
// during
// recording.
// 5 Minutes = 300000 Milliseconds
recorder.setMaxDuration(300000); // Sets the maximum duration (in ms) of
// the recording session
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); // Sets the
// audio
// encoder
// to be
// used for
// recording.
recorder.setOutputFile(path); // Sets the path of the output file to be
// produced.
recorder.prepare(); // Prepares the recorder to begin capturing and
// encoding data.
recorder.start(); // Recording is now started
}
Gracias Jennifer, he intentado usar el grabador de medios para grabar videos, pero es inestable en algunas plataformas como Samsung Galaxy. Esperaba que hubiera una manera de agregar un tiempo máximo porque necesito todo lo que usa el intento action_capture. ¿Algunas ideas? – user875139
probaste: android.provider.MediaStore.EXTRA_DURATION_LIMIT ¿verdad? – jennifer
Sí, lo intenté y este intent.putExtra ("android.intent.extra.durationLimit", 60000) ;. Aún nada. – user875139
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra("android.intent.extra.durationLimit", 30000);
intent.putExtra("EXTRA_VIDEO_QUALITY", 0);
startActivityForResult(intent, ActivityRequests.REQUEST_TAKE_VIDEO);
Este código funciona bien en la API 2.2, pero el límite de duración no funciona en API 2.1
android.intent.extra.durationLimit
se introdujo en API Level 8,
por lo que es no disponible en Eclair y antes, desafortunadamente. Algunos fabricantes de dispositivos pueden tener una forma patentada de establecer la duración máxima en dispositivos más antiguos, lo que explica por qué lo ha visto funcionar en algunas aplicaciones anteriores a Froyo.
puede ver el nivel de API en el que se introduce cada variable mirando al lado derecho de la barra gris en el sitio de recursos de Android. Por ejemplo, vea esta variable (y su nivel de API) aquí: http://developer.android.com/reference/android/provider/MediaStore.html#EXTRA_DURATION_LIMIT – jennifer
Consulte también este enlace: http://www.netmite.com /android/mydroid/donut/packages/apps/Camera/src/com/android/camera/VideoCamera.java .. Te será útil – jennifer
Recibí el error ActivityRequests aquí? –
En realidad, MediaStore.EXTRA_DURATION_LIMIT
proporcionar tiempo en segundos, NO en milisegundos! lo que sólo tiene que cambiar su valor a partir de 60000 a 60;) Android Documentation
Uso esto, aquí es 60 segundos Código: intent.putExtra (MediaStore.EXTRA_DURATION_LIMIT, 60);
Durante 30 segundos, pruebe este código.
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);
- 1. ¿Es posible establecer la afinidad con sched_setaffinity en Android?
- 2. Establecer el tiempo máximo de ejecución para exec() específicamente
- 3. ¿Cómo establecer el límite de tiempo de grabación de video en iPhone?
- 4. JQuery para establecer un ancho máximo dinámico
- 5. ¿Cómo establecer el tiempo máximo de ejecución para la publicación ajax con jQuery?
- 6. La claridad del video con mi código es un poco baja en comparación con la grabación con la cámara Android
- 7. Android recoger la intención
- 8. Android: Grabación de SoundPool salida
- 9. Android: cómo reproducir música al máximo volumen posible?
- 10. ¿HttpRequest tamaño máximo permitido en tomcat?
- 11. ¿Es posible establecer el contenido de la cookie con CURL?
- 12. MySQL: ¿puedo limitar el tiempo máximo permitido para que se ejecute una consulta?
- 13. ¿Es posible desarrollar Android para Android?
- 14. cómo establecer el ancho máximo para un diseño
- 15. Android: Mensaje de intención
- 16. ¿Cómo establecer un tiempo de ejecución máximo para una consulta de mysql?
- 17. intención cuota de éxito para android
- 18. ¿Es posible establecer un objeto como nulo?
- 19. Android - ¿Filtro de intención?
- 20. ¿Cómo puedo establecer el tiempo máximo de ejecución para un script PHP?
- 21. Necesito un ejemplo simple para la grabación de audio
- 22. ¿Es posible establecer la propiedad alpha de un accesorio UITViewViewCell?
- 23. Grabación de video en un buffer circular en Android
- 24. ¿Es posible establecer un tiempo de espera en un socket en Twisted?
- 25. ¿Intención de Android para PUBLICAR URL?
- 26. Tiempo máximo de ejecución para JavaScript
- 27. intención de Android para sdcard ready
- 28. Android - Procedimiento para interceptar la opción 'Instalar aplicación' intención
- 29. ¿Es posible tener un tiempo real difícil con alcance léxico?
- 30. ¿Es posible establecer un bloque como destino en un UIButton?
Tenga en cuenta que MediaStore.EXTRA_DURATION_LIMIT se da en segundos, no en milisegundos. Sin embargo, solo funciona para dispositivos post-2.0. – user953768