Sto usando il android.provider.MediaStore.ACTION_VIDEO_CAPTURE
. Mi stavo chiedendo se c'è un modo per cambiare il tempo massimo consentito per ogni registrazione. Ho provato ad aggiungere Intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT,60000);//max of 60 seconds
ma continua la registrazione. Grazie in anticipo.È possibile impostare un tempo massimo consentito per la registrazione su Android utilizzando l'intento?
risposta
Usa 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
}
Grazie Jennifer, ho provato ad usare il registratore multimediale per registrare video ma è instabile su alcune piattaforme come Samsung Galaxy. Speravo che ci fosse un modo per aggiungere solo un tempo massimo perché ho bisogno di tutto ciò che usa l'intento action_capture. Qualche idea? – user875139
hai provato: android.provider.MediaStore.EXTRA_DURATION_LIMIT giusto ?? – jennifer
Sì, l'ho provato e questo intent.putExtra ("android.intent.extra.durationLimit", 60000) ;. Ancora niente. – 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);
Questo codice funziona bene su API 2.2, ma il limite della durata non funziona su API 2.1
android.intent.extra.durationLimit
è stato introdotto nel API Level 8,
quindi è non disponibile in Eclair e in precedenza, sfortunatamente. Alcuni produttori di dispositivi possono disporre di un modo proprietario per impostare la durata massima su dispositivi precedenti, il che spiega il motivo per cui l'hai visto funzionare su alcune applicazioni pre-Froyo.
è possibile visualizzare il livello API a cui ogni variabile viene introdotta guardando sul lato destro della barra grigia sul sito delle risorse Android. Ad esempio, vedi questa variabile (ed è il livello API) qui: http://developer.android.com/reference/android/provider/MediaStore.html#EXTRA_DURATION_LIMIT – jennifer
Controlla anche questo link: http://www.netmite.com /android/mydroid/donut/packages/apps/Camera/src/com/android/camera/VideoCamera.java .. Sarà utile per voi – jennifer
Ho ricevuto l'errore AttivitàRichieste qui? –
In realtà, MediaStore.EXTRA_DURATION_LIMIT
fornire il tempo in secondi, NON in millisecondi! Quindi è solo bisogno di cambiare il vostro valore di 60.000-60;) Android Documentation
Utilizzare questo, qui 60 è seconda Codice: intent.putExtra (MediaStore.EXTRA_DURATION_LIMIT, 60);
Per 30 secondi, prova questo codice.
intent.putExtra(MediaStore.EXTRA_DURATION_LIMIT, 30);
- 1. Registrazione tempo limite Android utilizzando l'intento
- 2. Capybara aumenta il tempo di caricamento massimo consentito della pagina
- 3. Android: come riprodurre la musica al massimo volume possibile?
- 4. È possibile sviluppare per Android su Android?
- 5. Android: registrazione e streaming allo stesso tempo
- 6. Valore massimo consentito per un tipo di dati numpy
- 7. utilizzando un database per la registrazione
- 8. Come è possibile limitare il tempo massimo di esecuzione per un test dell'unità?
- 9. Tempo di sincronizzazione per la registrazione di dati su più dispositivi Android
- 10. È possibile definire la chiave primaria composita per tabella utilizzando la registrazione attiva?
- 11. Android Come impostare il limite massimo "parola" su EditText
- 12. Come impostare il limite di tempo di registrazione video in iPhone?
- 13. Tempo massimo() | PHP
- 14. È possibile impostare na.rm su TRUE globalmente?
- 15. Come è possibile impostare data e ora per la notifica
- 16. è possibile recuperare il tempo rimasto su un evento 'glib'?
- 17. modo Modello di trovare valore massimo consentito
- 18. valori clip tra un valore massimo consentito minima e R
- 19. Tempo di esecuzione massimo per JavaScript
- 20. È possibile eseguire un emulatore Android senza impostare Eclipse
- 21. Come impostare un limite massimo per IBInspectable Int
- 22. Come impostare il tempo massimo di esecuzione per un post Ajax con jQuery?
- 23. Qual è il ritardo massimo per setInterval?
- 24. È possibile impostare session.gc_maxlifetime> 65535 secondi
- 25. Come impostare un limite minimo e massimo per un selettore di date in Android?
- 26. Qual è l'approccio migliore per la registrazione?
- 27. Qual è la differenza tra "Tempo massimo thread bloccato" e "Tempo thread massimo bloccato" in Weblogic 10.3.x?
- 28. È possibile impostare ProgressIndicator?
- 29. Come impostare il tempo di default per l'ingresso tempo simple_form
Si prega di notare che MediaStore.EXTRA_DURATION_LIMIT è dato in secondi, non in millisecondi. Tuttavia, funziona solo con dispositivi post-2.0. – user953768