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