He escrito un programa en Java que toma un archivo de imagen y manipula la imagen. Ahora estoy tratando de acceder a la cámara para que pueda tomar la foto y entregarla al programa de procesamiento de imágenes. Sin embargo, estoy perdido en cuanto a cómo hacerlo. He leído la información sobre la clase de la cámara y cómo solicitar los permisos, pero no sé cómo tomar la foto. Si alguien tiene algún consejo sobre dónde debería comenzar o si saben de un buen tutorial, realmente lo agradecería. ¡Gracias!¿Cómo accedo a la cámara en teléfonos con Android?
Respuesta
Google es su mejor amigo, aquí hay algunos tutoriales:
How-To Program The Google Android Camera To Take Pictures
Take Picture from Camera Emulator
Primera edición AndroidManifest.xml, agregar el permiso de la cámara :
<uses-permission android:name=”android.permission.CAMERA”/>
servicio de la cámara tiene que ser abierto y cerrado:
Camera camera = Camera.open();
//Do things with the camera
camera.release();
Puede establecer ajustes de la cámara, por ejemplo:
Camera.Parameters parameters = camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
camera.setParameters(parameters);
Para tomar una foto:
private void takePicture() {
camera.takePicture(shutterCallback, rawCallback, jpegCallback);
}
ShutterCallback shutterCallback = new ShutterCallback() {
public void onShutter() {
// TODO Do something when the shutter closes.
}
};
PictureCallback rawCallback = new PictureCallback() {
public void onPictureTaken(byte[] _data, Camera _camera) {
// TODO Do something with the image RAW data.
}
};
PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] _data, Camera _camera) {
// TODO Do something with the image JPEG data.
}
};
Do No olvide agregar el diseño de la cámara a su diseño principal xml.
el método más importante es:
Camera.PictureCallback mPictureCallback = new Camera.PictureCallback() {
public void onPictureTaken(byte[] imageData, Camera c) {
}
};
Este método se llama cuando se toma una fotografía. Aquí es un buen tutorial sobre este tema: http://www.brighthub.com/mobile/google-android/articles/43414.aspx
hmm ... o tal vez lo que necesita éste:
Camera mCamera;
...
public void onClick(View arg0) {
mCamera.takePicture(null, mPictureCallback, mPictureCallback);
}
Aquí es un ejemplo más: http://snippets.dzone.com/posts/show/8683
hay muchas maneras por las cuales Puedes hacer esto ... Una de las mejores maneras en que creo que es corto y simple es presionar el botón Hacer clic en Puedes llamar a la intención que abre la vista de tu cámara incorporada ... aquí está el código de muestra ...
public class CameraDemo extends Activity {
Button ButtonClick;
int CAMERA_PIC_REQUEST = 2;
int TAKE_PICTURE=0;
Camera camera;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ButtonClick =(Button) findViewById(R.id.Camera);
ButtonClick.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View view)
{
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == CAMERA_PIC_REQUEST)
{
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
ImageView image =(ImageView) findViewById(R.id.PhotoCaptured);
image.setImageBitmap(thumbnail);
}
else
{
Toast.makeText(demo.this, "Picture NOt taken", Toast.LENGTH_LONG);
}
}
}
.............................................. ................
Examínelo y, si tiene algún problema, siéntase libre de preguntar ....
Rakesh
Hay dos métodos para tomar fotos para su aplicación Android
1) El uso de Intención
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);
2) Creación de una actividad de la cámara personalizada. Para eso se necesita siguientes pasos
* Detect and Access Camera
* Create a Preview Class
* Build a Preview Layout
* Capture and Save Files
* Release the Camera
También puede consultar los siguientes enlaces:
http://developer.android.com/guide/topics/media/camera.html http://developer.android.com/reference/android/hardware/Camera.html
- 1. ¿Cómo accedo a la cámara web en una MacBook?
- 2. Enfrentando el problema de orientación con la imagen capturada de la cámara en los teléfonos Android
- 3. ¿Cómo accedo a mi cámara web en Python?
- 4. Las funciones de la cámara Android no funcionan en algunos teléfonos
- 5. ¿Cómo configuro un proxy en teléfonos Android?
- 6. Procesamiento de imágenes con la cámara Android
- 7. H.264 AVC compatible con teléfonos Android?
- 8. Detección de color con la cámara Android
- 9. Acceda a la cámara a través de OpenMAX en Android
- 10. ¿Qué teléfonos con Android tienen un giroscopio?
- 11. ¿Cómo accedo a la brújula en iOS?
- 12. ¿Dispositivos USB externos a teléfonos Android?
- 13. Android: aplique efectos OpenGL a la cámara
- 14. ¿Cómo recupero la cuenta de Google registrada en teléfonos Android?
- 15. Android 2.2 SDK rompe la compatibilidad con teléfonos más antiguos
- 16. Orientación de cámara/imagen en Android
- 17. cómo usar la cámara Android con OpenGL ES para trabajar?
- 18. ¿Cómo accedo a la solicitud HTTP?
- 19. Cómo usar Android ndk para acceder a la cámara
- 20. Android Camera Preview - Cómo congelar la cámara?
- 21. Distancia entre dos teléfonos Android
- 22. ¿Cómo accedo a android: etiqueta para una actividad
- 23. Primer día de semana en teléfonos Android
- 24. ¿Por qué es tan difícil tomar fotos normalmente en diferentes teléfonos con Android?
- 25. Cámara en Android
- 26. Formato de audio apropiado para efectos de sonido en teléfonos Android con respecto a la eficiencia
- 27. Intento de la cámara con parámetros de resolución en Android
- 28. Autenticación HTTP básica en teléfonos Android a Rails Server
- 29. Cámara con emulador de Android ICS
- 30. ¿Cómo accedo a los registros con python en gdb