KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > inzyme > jmds > Example


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 JavaDoc[] _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 JavaDoc t) {
56                                 t.printStackTrace();
57                             }
58                         }
59                     }
60                     finally {
61                         dataSource.disconnect();
62                     }
63                 }
64             }
65         }
66         catch (Throwable JavaDoc t) {
67             t.printStackTrace();
68         }
69     }
70 }
71
Popular Tags