为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

android手机客户端连接pc,获取pc用摄像头拍下来的照片,连续播放出来问题.doc

2017-09-01 9页 doc 26KB 36阅读

用户头像

is_852287

暂无简介

举报
android手机客户端连接pc,获取pc用摄像头拍下来的照片,连续播放出来问题.docandroid手机客户端连接pc,获取pc用摄像头拍下来的照片,连续播放出来问题.doc import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStr...
android手机客户端连接pc,获取pc用摄像头拍下来的照片,连续播放出来问题.doc
android手机客户端连接pc,获取pc用摄像头拍下来的照片,连续播放出来问.doc import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringBufferInputStream; import java.net.Socket; import java.net.UnknownHostException; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Paint; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.animation.AnimationUtils; import android.widget.Button; import android.widget.ImageSwitcher; import android.widget.ImageView; import android.widget.TextView; import android.widget.ViewSwitcher; public class MyImageSwicherUsage extends Activity implements Runnable, OnClickListener { Looper lop=null; protected static final int GUIUPDATEIDENTIFIER = 0x101; public static boolean boole = true; Handler handler = new Handler(); Bitmap bmImg; ImageView imView; PrintWriter pw = null; BufferedInputStream inStream=null; boolean isstart = true; static Socket server=null; static Message ms=null; public static boolean isBool() { return boole; } public static void setBool(boolean bool) { boole = bool; } public boolean isIsstart() { return isstart; } public void setIsstart(boolean isstart) { this.isstart = isstart; } Button next, stop; int id = 0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initiaView(); } private void initiaView() { next = (Button) findViewById(R.id.nextButton); stop = (Button) findViewById(R.id.stopButton); next.setOnClickListener(this); stop.setOnClickListener(this); } public void run() { //id = fitNext(id); //switcher.setImageResource(resource[id]); //handler.postDelayed(this, 2000); try{ server = connect(); if(isstart){ Log.i("TAG", "......success....."); if(pw==null){ pw = getOutputStream(server); } pw.println("Start_Capture_Jpg");// 1客户端发出Start_Capture_Jpg请求命令,在服务器端获取这个命令,然后服务器端启动服务,传给客户端数据图片 pw.flush(); byte[] imageData;// 图像数据 byte[] buf = null; // 包头信息 byte[] fuhao=null; int count = 0; BufferedInputStream inStream = getInputStream(server); while(isstart) { buf = new byte[6]; fuhao=new byte[4]; String dataLengthstr = ""; int dataLength=0; count = inStream.read(buf, 0, buf.length); inStream.read(fuhao,0,fuhao.length); if ((count == 6) && (buf != null)) { dataLengthstr = new String(buf); Log.i("dataLengthstr",dataLengthstr); try{ dataLength = Integer.parseInt(dataLengthstr); }catch(Exception e){ } // 先收4个字节,bytes2int函数解析出数据包长度 } //Thread.sleep(1000); imageData = new byte[dataLength-4]; count = inStream.read(imageData, 0, imageData.length); Log.i("imageDate", imageData.length+"-----"); returnBitMap(imageData); imView = (ImageView) findViewById(R.id.imview); Log.i("ImageView", imView+"-----"); imView.setImageBitmap(returnBitMap(imageData)); handler.post(new Runnable() { @Override public void run() { imView.invalidate(); Log.i("imView.invalidate();",imView+"-----"); } }); try { Thread.sleep(10); } catch (InterruptedException e) { e.printStackTrace(); } Log.i("returnBitMap", returnBitMap(imageData)+"-----"); //ms=new Message(); //ms.what = MyImageSwicherUsage.GUIUPDATEIDENTIFIER; //handler.sendMessage(handler.obtainMessage()); //this.thread(); //setContentView(imView); //imView=null; //imageData=null; //handler.wait(20); } } } catch (Exception e) { e.printStackTrace(); } finally { //if(pw!=null) //pw.close(); } // handler.postDelayed(this, 5000); } //画图 public Bitmap returnBitMap(byte[] b) { Bitmap bitmap = null; try { InputStream is = new ByteArrayInputStream(b); bitmap = BitmapFactory.decodeStream(is); is.close(); } catch (IOException e) { e.printStackTrace(); } return bitmap; } //启动线程 public void start() { handler.postDelayed(this, 2000); this.setIsstart(true); // handler.postDelayed(this, 5000); } //结束 public void stop() { // setBool(false); this.setIsstart(false); try { if(pw==null){ return; } pw.println("Close_Capture_Jpg");// 1客户端发出Start_Capture_Jpg请求命令,在服务器端获 取这个命令,然后服务器端启动服务,传给客户端数据图片 pw.flush(); isstart = false; } catch (Exception e) { e.printStackTrace(); } finally { try { if(pw!=null){ pw.close(); } server.close(); server=null; } catch (Exception e) { e.printStackTrace(); } } } /* * public OnClickListener listener = new OnClickListener(){ k * };//OnClickListener */ //点击按钮事件 @Override public void onClick(View v) { // TODO Auto-generated method stub switch (v.getId()) { case R.id.nextButton: // id = fitNext(id); // switcher.setImageResource(resource[id]); this.start(); break; case R.id.stopButton: { stop(); Log.i("stop stop","stop..........."); } break; // switch }// onClic } // socket 编程 public Socket connect() {// 连接socket try { if(server==null) server = new Socket("192.168.0.48", 5000); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return server; } private PrintWriter getOutputStream(Socket socket) throws IOException { OutputStream socketOut = socket.getOutputStream(); return new PrintWriter(socketOut,true); } private BufferedInputStream getInputStream(Socket socket) throws IOException { InputStream socketIn = socket.getInputStream(); return new BufferedInputStream(socketIn); } }
/
本文档为【android手机客户端连接pc,获取pc用摄像头拍下来的照片,连续播放出来问题.doc】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索