Estoy desarrollando una aplicación para Android que debería ser capaz de transmitir video a un servidor local en mi red sin almacenarlo en la tarjeta SD.Android MediaRecorder setOutPutFile() para transmitir usando Socket
Para esto he hecho aplicación de socket simple en C# que escucha la IP específica: PUERTO
Por parte de Android, que me había propuesto el setOutputFile()
a esta IP: PUERTO usando zócalo.
Esta aplicación se inicia perfectamente en un teléfono Android pero no muestra una vista previa y cuando comienzo a grabar sale sin excepción. Tampoco envía ningún flujo de datos a la red.
Cuando configuro el setOutPutFile()
en la tarjeta SD, funciona perfectamente y también graba video.
Para la parte del servidor, cuando envío datos de cualquier otra aplicación (desde PC) a la misma IP: PORT, recibe los datos.
En resumen, quiero establecer el canal de comunicación entre PC y Android utilizando un socket para la transmisión.
Aquí está mi código Android:
Socket soc=new Socket("192.168.1.3",8210);
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(soc);
...
...
// other Recorder setup steps
...
...
Recorder.setOutputFile(pfd.getFileDescriptor()); // working fine for sdcard
Recorder.setPreviewDisplay(holder.getSurface());
Recorder.prepare();
Aquí es mi aplicación de servidor que se encuentra en C# y se ejecuta en el PC:
socketForServer = new TcpClient("192.168.1.3", 8210);
NetworkStream networkStream = socketForServer.GetStream();
byte[] rData = new byte[1024];
networkStream.Read(rData, 0, 1024);
...
...
// process rData
...
...
no soy capaz de entender el problema eso está ocurriendo aquí. ¿Voy en la dirección correcta?
Hola Vinod, ¿podría liberar el código fuente de la aplicación para Android? Intento hacer lo mismo, pero el video se congela, y no sé por qué ... Gracias. – Rob
Hola, lo siento, no puedo lanzar el código como es de un proyecto comercial. Si pudiera enviarme su código, intentaré solucionar el problema. Gracias –
Básicamente hago lo mismo que tú, pero estoy luchando en el formato ... Recibo algo, pero sin el buen encabezado, creo. Mi problema está muy bien descrito aquí (http://www.mattakis.com/blog/kisg/20090708/broadcasting-video-with-android-without-writing-to-the-file-system) pero no sé cómo tratar con. ¿Podría mostrar esa pequeña parte? Gracias. – Rob