2013-05-14 14 views
14

C'è un intento per l'avvio di una fotocamera con le opzioni per acquisire sia immagini che video su Android?Android Intent per la cattura di immagini e video?

Ho usato sia MediaStore.ACTION_VIDEO_CAPTURE e MediaStore.ACTION_IMAGE_CAPTURE per catturare audio o video, ma non riesco a trovare un intento che otterrà l'opzione per la commutazione tra ciascuno di essi, come in questo esempio app:

enter image description here

Grazie!

+0

qualsiasi fortuna? !! ... –

risposta

3

È possibile acquisire sia immagini che video utilizzando il codice riportato di seguito.

Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA); 
+0

'MediaStore.INTENT_ACTION_VIDEO_CAMERA' può anche essere utilizzato. – Nizam

+5

Come puoi ritirare l'immagine catturata o il video sul risultato di ONattività ?? –

+3

Questo intento non ti permetterà di recuperare il contenuto catturato –

3

ho raggiunto it :) si può fare seguendo -

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); 
    Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER); 
Intent contentSelectionIntent = new Intent(Intent.ACTION_GET_CONTENT); 
      contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE); 
      contentSelectionIntent.setType("*/*"); 
    intentArray = new Intent[]{takePictureIntent,takeVideoIntent}; 
    chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent); 
    chooserIntent.putExtra(Intent.EXTRA_TITLE, "Choose an action"); 
    chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray); 
    startActivityForResult(chooserIntent, 1); 

esempio simile here

Felice di codifica :)

+0

Che cos'è contentSelectionIntent? –

+0

@ParasWatts Hai dimenticato di aggiungere alcune linee. Si prega di verificare ora. –

0

Non è possibile catturare sia immagine e video con lo stesso intento, le tue opzioni sono

1) Crea la tua fotocamera this repo can be a good start Ma sarà troppo impegnativo.

2) Utilizzare l'intento di Scelta Risorse e trasmettere l'intento sia per le immagini che per i video, questo ti darà la possibilità di scegliere tra l'applicazione che registra video e videocamera separatamente. In questo non puoi fare entrambe le cose contemporaneamente ma puoi scegliere l'applicazione in base a ciò che vuoi fare, catturare un'immagine o registrare un video. Di seguito è riportato il codice che funziona per me.

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); 
Intent chooserIntent = Intent.createChooser(takePictureIntent, "Capture Image or Video"); 
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[]{takeVideoIntent}); 
startActivityForResult(chooserIntent, CAPTURE_MEDIA_RESULT_CODE); 
Problemi correlati