2011-10-31 23 views
5

Android Dev ha un codice semplice che descrive come avviare il camcorder tramite Intents.Android - Come avviare la registrazione video automaticamente quando si chiama l'intenzione della telecamera

Ora questo è utile se si desidera solo avviare la fotocamera e attendere che l'utente prema il pulsante rosso "REC".

Ma voglio chiamare il camcorder tramite Intent e dirgli di iniziare a registrare programmaticamente.

Come faccio? Passo qualche tipo di metodo start() nel comando Intent?

(se non si può fare, si prega di mostrarmi un po 'semplice codice che può essere impostato per registrare automaticamente il video - Ho cercato sul web, ma tutti i codesnippets per quanto riguarda questo problema non funzionano)

private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100; 
private Uri fileUri; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

// create Intent to take a picture and return control to the calling application 
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 

fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image 
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name 

// start the image capture Intent 
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE); 
} 

risposta

0

ho trovato una soluzione su un dispositivo radicata. Innanzitutto, avviare la registrazione nel modo consueto con Intento (utilizzando startActivity(), non startActivityForResult()). In secondo luogo, inviare il codice chiave CAMERA con 'input keyevent 27'. È magico! Inizia la registrazione. Probabilmente dovresti premere indietro (codice 4) dopo la fine della registrazione.

L'intera sequenza tasti è:

  1. CAMERA: inizia la registrazione (compare il timer sullo schermo). Per inviare un po 'più tardi dopo l'invio del intenti per la sicurezza,
  2. DPAD_DOWN, DPAD_RIGHT e infine DPAD_CENTER sono necessario per convalidare lo shootage!
  3. BACK per tornare alla tua attività.
+0

puoi dirmi come posso inviare l'evento chiave di input? –

Problemi correlati