亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 視頻捕獲拍照案例.txt

?? 視頻拍照捕獲功能視頻拍照捕獲功能視頻拍照捕獲功能視頻拍照捕獲功能
?? TXT
字號:
public class Demo001 extends PlayerFrame {

 public Demo001() {
  super(null, "視頻捕獲窗口");
 }

 DataSource dataSource;
 private CaptureDeviceInfo infor;
 private MediaLocator mediaLocator;
 private String url = "vfw:Microsoft WDM Image Capture (Win32):0";
 private Component com;
 private JPanel panel;
 private int captureCount = 0;
 FrameGrabbingControl controlGrabber;
 public void play() {
  if (mediaPlayerCurrent.getState() != mediaPlayerCurrent.Started) {
   mediaPlayerCurrent.start();
  }
 }
private void init() throws NoPlayerException, IOException {
  // setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
  String nameCaptureDeviceAudio = null;
  String nameCaptureDeviceVideo = null;
  CaptureDialog dialogCapture = new CaptureDialog(this, null);
  dialogCapture.show();
  if (dialogCapture.getAction() == CaptureDialog.ACTION_CANCEL)
   return;
  CaptureDeviceInfo cdi = dialogCapture.getAudioDevice();
  if (cdi != null && dialogCapture.isAudioDeviceUsed())
   nameCaptureDeviceAudio = cdi.getName();
  cdi = dialogCapture.getVideoDevice();
  if (cdi != null && dialogCapture.isVideoDeviceUsed())
   nameCaptureDeviceVideo = cdi.getName();
  dataSource = JMFUtils.createCaptureDataSource(nameCaptureDeviceAudio,
    dialogCapture.getAudioFormat(), nameCaptureDeviceVideo,
    dialogCapture.getVideoFormat());
  DataSource cdswrapper = new CDSWrapper(
    (PushBufferDataSource) dataSource);
  dataSource=cdswrapper;
  dataSource.connect();
  open(dataSource);
 JPanel controlPanel=new JPanel();
  controlPanel.setName("controlPnael is here");
  add(BorderLayout.SOUTH, controlPanel);
  JButton capture = new JButton("Capture Image");
  capture.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent arg0) {
    mediaPlayerCurrent.stop();
    Buffer bufferFrame;
    BufferToImage bufferToImage;
    Image image;
    BufferedImage bi;
    controlGrabber = (FrameGrabbingControl) mediaPlayerCurrent
      .getControl("javax.media.control.FrameGrabbingControl");
    bufferFrame = controlGrabber.grabFrame();
    bufferToImage = new BufferToImage((VideoFormat) bufferFrame
      .getFormat());
    image = bufferToImage.createImage(bufferFrame);

    File out = new File("capture" + (++captureCount) + ".png");
    try {
     bi = toBufferedImage(image);
     ImageIO.write(bi, "png", out);
    } catch (IOException e1) {
     e1.printStackTrace();
    }

    mediaPlayerCurrent.start();

   }
  });

  controlPanel.add(BorderLayout.CENTER, capture);

     JButton playStop = new JButton("stop");
  //add(BorderLayout.SOUTH,playControl);
  playStop.addActionListener(new ActionListener() {

   //@Override
   public void actionPerformed(ActionEvent arg0) {
    mediaPlayerCurrent.stop();

   }
  });
  controlPanel.add(BorderLayout.EAST, playStop);
  
  JButton playStart = new JButton("start");
  //add(BorderLayout.SOUTH,playControl);
  playStart.addActionListener(new ActionListener() {

   //@Override
   public void actionPerformed(ActionEvent arg0) {
    //mediaPlayerCurrent.stop();
    if (mediaPlayerCurrent.getState() != mediaPlayerCurrent.Started) {
     mediaPlayerCurrent.start();
    }
    }
  });
  controlPanel.add(BorderLayout.WEST, playStart);
  addWindowListener(new WindowAdapter() {

   //@Override
   public void windowClosing(WindowEvent e) {
    mediaPlayerCurrent.close();
    dataSource.disconnect();
    System.out.println("exit.....");
    System.exit(0);

   }
  });
 }
public static boolean hasAlpha(Image image) {
  // If buffered image, the color model is readily available
  if (image instanceof BufferedImage) {
   BufferedImage bimage = (BufferedImage) image;
   return bimage.getColorModel().hasAlpha();
  }
  // Use a pixel grabber to retrieve the image's color model;
  // grabbing a single pixel is usually sufficient
  PixelGrabber pg = new PixelGrabber(image, 0, 0, 1, 1, false);
  try {
   pg.grabPixels();
  } catch (InterruptedException e) {
  }

  // Get the image's color model
  ColorModel cm = pg.getColorModel();
  return cm.hasAlpha();
 }

 public static BufferedImage toBufferedImage(Image image) {
  if (image instanceof BufferedImage) {
   return (BufferedImage) image;
  }

  // This code ensures that all the pixels in the image are loaded
  image = new ImageIcon(image).getImage();

  // Determine if the image has transparent pixels; for this method's
  // implementation, see e661 Determining If an Image Has Transparent Pixels
  boolean hasAlpha = hasAlpha(image);

  // Create a buffered image with a format that's compatible with the screen
  BufferedImage bimage = null;
  GraphicsEnvironment ge = GraphicsEnvironment
    .getLocalGraphicsEnvironment();
  try {
   // Determine the type of transparency of the new buffered image
   int transparency = Transparency.OPAQUE;
   if (hasAlpha) {
    transparency = Transparency.BITMASK;
   }

   // Create the buffered image
   GraphicsDevice gs = ge.getDefaultScreenDevice();
   GraphicsConfiguration gc = gs.getDefaultConfiguration();
   bimage = gc.createCompatibleImage(image.getWidth(null), image
     .getHeight(null), transparency);
  } catch (HeadlessException e) {
   // The system does not have a screen
   System.err.println("The system does not have a screen!");
   System.exit(-1);
  }

  if (bimage == null) {
   // Create a buffered image using the default color model
   int type = BufferedImage.TYPE_INT_RGB;
   if (hasAlpha) {
    type = BufferedImage.TYPE_INT_ARGB;
   }
   bimage = new BufferedImage(image.getWidth(null), image
     .getHeight(null), type);
  }

  // Copy image to buffered image
  Graphics g = bimage.createGraphics();

  // Paint the image onto the buffered image
  g.drawImage(image, 0, 0, null);
  g.dispose();

  return bimage;
 }

 private MediaLocator autoDetect() {//自動識別功能函數
  MediaLocator ml = null; //視頻采集設備對應的MediaLocator
  VideoFormat currentFormat = null;//用戶定制獲得視頻采集設備支持的格式
  Format setFormat = null;//用戶定制視頻采集設備輸出的格式
  Format[] videoFormats = null;//視頻采集設備支持的所有格式
  System.out.println(" AutoDetect for VFW");//VFW:微軟的 Video for Windows
  //獲得當前所有設備列表
  Vector deviceList = CaptureDeviceManager.getDeviceList(null);
  if (deviceList != null) {
   //根據設備列表,找出可用設備名稱
   for (int i = 0; i < deviceList.size(); i++) {
    try {
     CaptureDeviceInfo di = (CaptureDeviceInfo) deviceList
       .elementAt(i);
     //如果設備名稱以vfw開頭
     if (di.getName().startsWith("vfw:")) {
      //獲得所有支持RGB格式 
      videoFormats = di.getFormats();
      for (int j = 0; j < videoFormats.length; j++) {
       //我們只需要第一種RGB格式
       if (videoFormats[j] instanceof RGBFormat) {
        currentFormat = (RGBFormat) videoFormats[i];
        break;
       }
      }
      if (currentFormat == null) {
       System.err.println("Search For RGBFormat Failed");
       System.exit(-1);
      }
      //通過設備,獲得MediaLocator,這個很重要
      ml = di.getLocator();
     }
    } catch (Exception npe) {
     System.err.println("Unable to get Processor for device");
     System.exit(-1);
    }
   }
  } else {
   System.err.println("No Capture Device OK");
   System.exit(-1);
  }
  mediaLocator = ml;
  return ml;//返回可用的設備medialocator
 }
 public static void main(String[] args) throws NoPlayerException,
   IOException {
  Demo001 demo = new Demo001();
  demo.setSize(100, 100);
  demo.autoDetect();
  demo.init();
  demo.play();
  demo.setVisible(true);
}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情成人综合网| 亚洲电影一级黄| 日韩写真欧美这视频| 在线欧美日韩国产| 欧美在线短视频| 欧美色中文字幕| 欧美日韩一区成人| 欧美一区二区三区成人| 日韩欧美一级片| 国产亚洲欧美色| 国产精品美女久久久久久2018| 国产日韩精品一区二区三区| 国产精品美女www爽爽爽| 国产精品久久久久久亚洲毛片 | 韩国精品在线观看| 蜜桃av一区二区在线观看| 日本视频免费一区| 韩国成人在线视频| 成人a级免费电影| 色婷婷久久久亚洲一区二区三区 | 性做久久久久久免费观看| 亚洲一区二区在线观看视频| 爽好多水快深点欧美视频| 看片网站欧美日韩| 国产精品一品视频| 一本色道综合亚洲| 3d动漫精品啪啪一区二区竹菊| 日韩欧美综合在线| 国产欧美一区二区精品久导航| 亚洲色图19p| 日韩国产在线观看| 成人黄色综合网站| 欧美久久久久久久久久| 久久视频一区二区| 亚洲香肠在线观看| 久久99久久精品欧美| av在线不卡观看免费观看| 欧美军同video69gay| 国产日韩精品视频一区| 亚洲一区二区三区视频在线播放 | 欧美亚洲综合一区| 欧美大胆一级视频| 亚洲精品一二三| 国产一区欧美日韩| 91高清在线观看| 久久精品人人爽人人爽| 一区二区三区四区亚洲| 国产精品亚洲人在线观看| 欧美色倩网站大全免费| 国产精品乱码妇女bbbb| 麻豆国产精品777777在线| 在线视频一区二区免费| 欧美精彩视频一区二区三区| 日韩高清在线观看| 欧美亚洲动漫制服丝袜| 亚洲国产岛国毛片在线| 男女男精品视频| 欧美午夜精品一区| 中文字幕亚洲不卡| 国产99久久精品| 精品奇米国产一区二区三区| 亚洲国产成人av| 91影视在线播放| 国产精品久久综合| 国产91富婆露脸刺激对白| 91精品啪在线观看国产60岁| 亚洲一区二区免费视频| 成人久久视频在线观看| 国产亚洲人成网站| 国产馆精品极品| 久久精品在这里| 国产综合色产在线精品| 91精品国产麻豆| 日韩高清一区二区| 欧美一区午夜视频在线观看| 日韩经典中文字幕一区| 97精品国产露脸对白| 久久精品亚洲乱码伦伦中文| 国产又黄又大久久| 久久久无码精品亚洲日韩按摩| 久久精品国产亚洲aⅴ| 欧美一级片在线观看| 日本伊人色综合网| 精品国产一二三| 国产传媒一区在线| 国产精品毛片久久久久久| 99精品在线观看视频| 亚洲综合清纯丝袜自拍| 91成人在线免费观看| 亚洲夂夂婷婷色拍ww47| 3d成人h动漫网站入口| 欧美aaa在线| 欧美激情一二三区| 91美女精品福利| 亚洲成人av在线电影| 欧美一级夜夜爽| 成人自拍视频在线| 亚洲激情一二三区| 日韩欧美在线影院| 成人一级片在线观看| 亚洲一区二区三区四区五区中文| 717成人午夜免费福利电影| 精一区二区三区| 国产精品国产精品国产专区不蜜| 色综合色狠狠天天综合色| 午夜视频一区二区三区| 日韩欧美国产1| 91原创在线视频| 免费成人av在线| 亚洲天堂成人网| 欧美一级高清大全免费观看| 国产传媒日韩欧美成人| 亚洲成人你懂的| 久久精品免费在线观看| 欧美性大战xxxxx久久久| 国产美女精品人人做人人爽 | 色呦呦网站一区| 久久精品国产**网站演员| 国产精品第五页| 精品女同一区二区| 色婷婷av一区二区三区之一色屋| 欧美a一区二区| 一区二区三区资源| 国产无人区一区二区三区| 欧美色男人天堂| 99精品久久只有精品| 久久精品国产澳门| 亚洲电影在线免费观看| 国产精品乱子久久久久| 欧美videofree性高清杂交| 91美女视频网站| 成人精品鲁一区一区二区| 六月丁香婷婷色狠狠久久| 亚洲不卡在线观看| 亚洲人成7777| 亚洲手机成人高清视频| 久久精品免视看| 久久久久久99久久久精品网站| 欧美日韩一区成人| 91久久精品网| 色婷婷av一区二区三区大白胸| 国产99久久久国产精品免费看| 激情综合色综合久久| 天天爽夜夜爽夜夜爽精品视频 | 欧美综合亚洲图片综合区| 成人爽a毛片一区二区免费| 狠狠色狠狠色综合| 麻豆成人在线观看| 久久福利视频一区二区| 美女网站视频久久| 六月丁香婷婷色狠狠久久| 青娱乐精品视频| 美女国产一区二区三区| 日韩av在线播放中文字幕| 婷婷丁香激情综合| 日本麻豆一区二区三区视频| 日产欧产美韩系列久久99| 亚洲成av人在线观看| 午夜精品福利在线| 欧美a级理论片| 国产中文字幕一区| 国产福利电影一区二区三区| 国产黄色精品网站| 99精品久久只有精品| 在线免费观看日本欧美| 欧美性大战久久久| 日韩一区二区高清| 亚洲精品一区二区三区影院| 国产亚洲欧美在线| 最新成人av在线| 亚洲精品日韩一| 日日噜噜夜夜狠狠视频欧美人| 免费不卡在线视频| 国产美女久久久久| 色呦呦国产精品| 91精品国产综合久久久蜜臀粉嫩| 欧美一区二区三区在线视频| 久久久久久毛片| 亚洲欧美日韩在线播放| 日韩国产一区二| 成人一区二区三区中文字幕| 色综合久久久网| 日韩一区二区三免费高清| 国产欧美精品一区| 一区二区三区精品久久久| 免费在线观看精品| 99久久精品99国产精品| 5月丁香婷婷综合| 中文字幕不卡的av| 调教+趴+乳夹+国产+精品| 国产精品456露脸| 欧美精品久久一区二区三区| 久久免费午夜影院| 亚洲一区二区三区国产| 国产乱人伦偷精品视频免下载| 在线视频欧美精品| 国产人伦精品一区二区| 日产精品久久久久久久性色| av高清不卡在线| 日韩欧美自拍偷拍|