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();