buttonStart.Enabled = false;
            buttonStop.Enabled = true;
            //btnPz.Enabled = true;
            video = new cVideo(picCapture.Handle, picCapture.Width, picCapture.Height);
            video.StartWebCam();
-------------------------
  private void buttonPz_Click(object sender, EventArgs e)
        {
            video.GrabImage(picCapture.Handle, "d:\\my.bmp");
        }

解决方案 »

  1.   

    参考
    Camera mCamera = Camera.open();
    Camera.Parameters p = mCamera.getParameters();
    p.setPreviewFormat(ImageFormat.NV21);
    /*这是唯一值,也可以不设置。有些同学可能设置成 PixelFormat 下面的一个值,其实是不对的,具体的可以看官方文档*/
    mCamera.setParameters(p);
    mCamera.startPreview();
      
      @Override
      public void onPreviewFrame(byte[] data, Camera camera) {        
          Size size = camera.getParameters().getPreviewSize();        
          try{
              YuvImage image = new YuvImage(data, ImageFormat.NV21, size.width, size.height, null);
              if(image!=null){
                  ByteArrayOutputStream stream = new ByteArrayOutputStream();
                  image.compressToJpeg(new Rect(0, 0, size.width, size.height), 80, stream);
                  Bitmap bmp = BitmapFactory.decodeByteArray(stream.toByteArray(), 0, stream.size());
     
                       stream.close();
              }
          }catch(Exception ex){
              Log.e("Sys","Error:"+ex.getMessage());
          }
      }
      

  2.   

    我想看一下你这个Camera类,可不可以发下代码,刚才我试了下不停的截图,然后转换成byte[],再不停放到队列中,再读取出来不停的赋给picturebox   闪的厉害
      

  3.   


    我正好在做这个,求代码。
    你用什么获取视频帧的,avicap.dll吗?