1 package com.inzyme.jmds; 2 3 import javax.media.Format; 4 import javax.media.control.FormatControl; 5 6 7 public class Example { 8 public static void main(String [] _args) { 9 try { 10 DSCaptureDeviceInfo[] devices = DSCaptureDeviceManager.getCaptureDevices(); 11 for (int deviceNum = 0; deviceNum < devices.length; deviceNum++) { 12 System.out.println("Device #" + deviceNum + ": " + devices[deviceNum]); 13 DSCapturePin[] pins = devices[deviceNum].getPins(); 14 for (int pinNum = 0; pinNum < pins.length; pinNum++) { 15 System.out.println(" Pin #" + pinNum + " = " + pins[pinNum]); 16 Format[] formats = pins[pinNum].getFormats(); 17 for (int formatNum = 0; formatNum < formats.length; formatNum++) { 18 System.out.println(" Format #" + formatNum + " = " + formats[formatNum]); 19 } 20 21 System.out.println(); 22 23 DSDataSource dataSource = new DSDataSource(pins[pinNum]); 24 System.out.println(" Connecting to pin ..."); 25 dataSource.connect(); 26 try { 27 System.out.println(" Attempting to change to each available format ..."); 28 FormatControl formatControl = (FormatControl) dataSource.getControl(FormatControl.class.getName()); 29 for (int formatNum = 0; formatNum < formats.length; formatNum ++) { 30 formatControl.setFormat(formats[formatNum]); 31 System.out.println(" Changed to " + formatControl.getFormat()); 32 } 33 34 System.out.println(); 35 System.out.println(" Checking for a crossbar."); 36 if (dataSource.hasCrossBar()) { 37 System.out.println(" Crossbar found."); 38 DSCrossBar crossBar = dataSource.getCrossBar(); 39 DSInputCrossBarPin[] inputPins = crossBar.getInputPins(); 40 for (int cbInputPinNum = 0; cbInputPinNum < inputPins.length; cbInputPinNum++) { 41 System.out.println(" Crossbar Input Pin #" + cbInputPinNum + ": " + inputPins[cbInputPinNum]); 42 } 43 44 DSOutputCrossBarPin[] outputPins = crossBar.getOutputPins(); 45 for (int cbOutputPinNum = 0; cbOutputPinNum < outputPins.length; cbOutputPinNum++) { 46 System.out.println(" Crossbar Output Pin #" + cbOutputPinNum + ": " + outputPins[cbOutputPinNum]); 47 } 48 49 System.out.println(" Routing the SVideo input to the Video output (this may fail if you don't have SVideo)"); 50 try { 51 DSInputCrossBarPin inputPin = crossBar.getInputPinWithPhysicalType(DSPhysicalConnectorType.PhysConn_Video_SVideo); 52 DSOutputCrossBarPin outputPin = crossBar.getOutputPinWithPhysicalType(DSPhysicalConnectorType.PhysConn_Video_VideoDecoder); 53 outputPin.routeTo(inputPin); 54 } 55 catch (Throwable t) { 56 t.printStackTrace(); 57 } 58 } 59 } 60 finally { 61 dataSource.disconnect(); 62 } 63 } 64 } 65 } 66 catch (Throwable t) { 67 t.printStackTrace(); 68 } 69 } 70 } 71 | Popular Tags |