Package net.sf.fmj.capture.test

Source Code of net.sf.fmj.capture.test.FMJCaptureTest

package net.sf.fmj.capture.test;

import java.util.List;

import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.Format;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.format.RGBFormat;

import net.sf.fmj.ejmf.toolkit.install.PackageUtility;
import net.sf.fmj.utility.PlugInUtility;

import com.lti.civil.CaptureException;
import com.lti.civil.CaptureSystem;
import com.lti.civil.CaptureSystemFactory;
import com.lti.civil.DefaultCaptureSystemFactorySingleton;


/**
* Test class for capture devices.
* @author Ken Larson
*
*/
public class FMJCaptureTest
{

  public static void main(String[] args) throws Exception
  {
   
   
//    for (Format f : new SimpleAWTRenderer().getSupportedInputFormats())
//    {
//      final Format civilOutputFormat = new RGBFormat(null, -1, byte[].class, -1, 24, 1, 2, 3);
//      System.out.println(civilOutputFormat.matches(f) + " " + f);
//     
//    }
   
   
    PackageUtility.addContentPrefix("net.sf.fmj", false);
    PackageUtility.addProtocolPrefix("net.sf.fmj", false);
   
      PlugInUtility.registerPlugIn("net.sf.fmj.media.renderer.video.SimpleAWTRenderer");
       
   
   
    CaptureSystemFactory factory = DefaultCaptureSystemFactorySingleton.instance();
    CaptureSystem system = factory.createCaptureSystem();
    system.init();
    List list = system.getCaptureDeviceInfoList();
    for (int i = 0; i < list.size(); ++i)
    {
      com.lti.civil.CaptureDeviceInfo civilInfo = (com.lti.civil.CaptureDeviceInfo) list.get(i);
     
      {
       
        //String name, MediaLocator locator, Format[] formats
        CaptureDeviceInfo jmfInfo = new CaptureDeviceInfo(civilInfo.getDescription(), new MediaLocator("civil:" + civilInfo.getDeviceID()), new Format[] {new RGBFormat()});
        CaptureDeviceManager.addDevice(jmfInfo);
      }
     
    }


    final java.util.Vector vectorDevices = CaptureDeviceManager.getDeviceList(null);
    if (vectorDevices == null)
    {
      System.out.println("CaptureDeviceManager.getDeviceList returned null");
      return;
    }
    if (vectorDevices.size() == 0)
    {
      System.out.println("CaptureDeviceManager.getDeviceList returned empty list");
      return;
    }

   
    for ( int i = 0;  i < vectorDevices.size();  i++ )
    {
      CaptureDeviceInfo infoCaptureDevice = (CaptureDeviceInfo) vectorDevices.elementAt ( i );
      System.out.println("CaptureDeviceInfo: ");
      System.out.println(infoCaptureDevice.getName());
      System.out.println(infoCaptureDevice.getLocator());
      System.out.println(infoCaptureDevice.getFormats()[0]);
     
      Player player;
      try
      {
       
        player = Manager.createRealizedPlayer(infoCaptureDevice.getLocator());
      } catch (Exception e)
      {  throw new CaptureException(e);
      }
          player.start();
     
    }
     
    system.dispose();
  }

}
TOP

Related Classes of net.sf.fmj.capture.test.FMJCaptureTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.