Android 视频监控已经有示例了,如http://www.open-open.com/lib/view/open1346400423609.html完全可以实现简单的监控功能。但是,如果想要在手机上监控另外一个手机就需要做一些改动了。
其中,手机A实现的功能和上文中的一样,主要在于手机B上如何接收手机A通过Socket发送出来的数据。
在Android中,显示图片可以用ImageView,但是这个空间比较适用于静态图片,如果是动态图片或者手动设置的变化的文字,就需要用SurfaceView了,这个用法需要实现Callback才能使用。
因此问题变简单了,就是接受inputStream然后转成JPEG或者直接变成Bitmap,然后显示出来。关键部分代码如下:
c = holder.lockCanvas();ss = new ServerSocket(port);
Socket s = ss.accept();
this.ins = s.getInputStream();byte[] data = new byte[1024];
data = readInputStream(ins);Bitmap bmp = BitmapFactory.decodeByteArray(data, 0, data.length);c.drawBitmap(bmp,0,0,null);
//关闭Socket,否则图片不会更新
ss.close();