Si pero varia de la plataforma. Lo hizo un amigo y lo ayude a investigarlo (para trolear un spyware). La cosa es que necesitas un SO de fuente abierta para poder espoofear El API que se encarga de escribir los archivos. La cosa es que android tiene varios components es su API para El processo de tomar una foto. Uno de ellos es android.view.SurfaceView Este es El que te da la imagen en vivo de lo que esta viendo tu camara. Este lo dejas intacto ya que quieres que Este muestre lo que ve la camara (Al menos eso entendi de tu post). Y luego esta un listener (escuchador no se como se dice en Español xd) que activa un evento cuando se suelta El boton de tomar foto. Aqui es donde esta lo bueno. Lo siguiente es El Codigo java de una foto capturada normalmente tomado de la documentacion de android:
private PictureCallback mPicture = new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
File pictureFile
= getOutputMediaFile
(MEDIA_TYPE_IMAGE
); if (pictureFile == null){
Log.d(TAG, "Error creating media file, check storage permissions");
return;
}
try {
fos.write(data);
fos.close();
Log.d(TAG, "File not found: " + e.getMessage());
Log.d(TAG, "Error accessing file: " + e.getMessage());
}
}
};
La idea era remplazar las Fotos tomadas con una imagen ironica como un meme o Algo. Se supone que esto es El Codigo para crear una aplicacion que toma Fotos sin depender de El intent nativo de android. Algo asi para hacer una aplicacion de camara personalizada. Entonces observa la variable
data esta variable son los bytes que le pasa la camara a tu aplicacion que despues seran escritos a un archivo. La idea es reemplazar los bytes de esta variable con los bytes de Otra imagen (en Este Caso un meme de umaru chan) cosa que es muy facil. El Problema es que, y para esto se necesita un Sistema de fuente abierta, es que hay que reemplazar la funcionabilidad de la camara original con esta.
Para lo que tu describes me imagino que Seria Algo por El estilo solo que sobre la red. Para esto se me ocurre que podrias mandar los bytes de una camara a la Otra atravez de la red (nc tal vez?). La limitacion Seria que esto genera mucha latencia ademas de que Seria muy complejo programar la sincronia a lo largo de Los dos dispositivos y mas si son plataformas diferentes. Practicamente tendria que escribir tu propio API para que cuando un dispositivo genere el evento de capturar una foto el otro la tome y envir sus bytes por la red. Tambien esta El Problema de compatibilidad de la encodificacion que usarias. Pero muy possible en fin. Me imagino que podrias tener una computadora que funcionen como relay central que comande a los dispositivos que se envien la informacion ademas de encargarse de la compatibilidad de la encodificacion.
Suena divertido y suerte.