У меня есть приложение для Android, которое использует камеру.Я использую сокетное соединение для отправки байта [] onPreviewFrame () камеры.
Вот мой код
public void onPreviewFrame(byte[] data, Camera camera) {
Log.v(TAG, "data=" + data.length);
try
{
Log.i(TAG,"connecting to server...");
soc=new Socket(serverAddr,8210);
outStream=new ObjectOutputStream(soc.getOutputStream());
Log.i(TAG,"connected");
outStream.write(data);
outStream.flush();
outStream.close();
}
catch(Exception ex)
{
Log.e(TAG,"error on stream : " + ex);
}
}
Я просто хотел узнать формат byte[] data
и как преобразовать его в изображение на сервере.Я использую следующий код Java, который выполняется на ПК:
ServerSocket serverSocket = new ServerSocket(8210);
while (true) {
Socket client = serverSocket.accept();
byte [] mybytearray = new byte [497664];
InputStream is = client.getInputStream();
FileOutputStream fos = new FileOutputStream("source-copy.jpg");
BufferedOutputStream bos = new BufferedOutputStream(fos);
bytesRead = is.read(mybytearray,0,mybytearray.length);
bos.write(mybytearray, 0 , 497664);
bos.flush();
bos.close();
}
На сервере он создает файл, но байт [] необходимо декодировать в некотором формате изображения.Кто-нибудь знает, как это сделать?
Есть что-нибудь еще, что мне нужно здесь?