2011-10-31 18 views
5

El Android Dev tiene un código sencillo que describe cómo iniciar la videocámara a través de Intents.Android - Cómo iniciar la grabación de video automáticamente cuando se llama a la cámara

Ahora esto es bueno si solo desea iniciar la cámara y esperar a que el usuario presione el botón rojo "REC".

Pero quiero llamar a la videocámara a través de Intent y decirle que comience a grabar mediante programación.

¿Cómo hago eso? ¿Paso algún tipo de método start() en el comando Intent?

(si no se puede hacer, por favor, muéstrame un poco de código simple que puede ser configurado para grabar vídeo de forma automática - He estado buscando en la web, pero todos CodeSnippets respecto a este tema no funcionan)

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); 
} 

Respuesta

0

He encontrado una solución en un dispositivo arraigada. Primero, comience la grabación de la manera habitual con Intent (usando startActivity(), no startActivityForResult()). Segundo, envíe el código de la tecla CAMERA con 'input keyevent 27'. ¡Es magia! Comienza la grabación. Probablemente deberías presionar hacia atrás (código 4) después del final de la grabación.

La secuencia de teclas conjunto es:

  1. CAMERA: comienza la grabación (aparece el contador de tiempo en pantalla). Para enviar un poco más tarde después de enviar la intención para la seguridad,
  2. DPAD_DOWN, DPAD_RIGHT y finalmente se DPAD_CENTER necesaria para validar la shootage!
  3. BACK para volver a su actividad.
+0

¿podría decirme cómo puedo enviar el evento clave de entrada? –

Cuestiones relacionadas