> > |
| META TOPICPARENT | name="JMFQuickstartGuide" |
<-- This creates the navigation links to : Home | Help | Index | etc. -->
CaptureDeviceManagerSampleProgram <-- this automatically adds a header showing the name of this page -->
The following JMF utility program from the JMF Quickstart Guide will iterate through all of the supported media formats and display any capture devices on the system that support capturing in that format.
import java.util.Vector;
import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.format.AudioFormat;
import javax.media.format.VideoFormat;
public class CaptureDeviceFinder {
static String audioformats[] = {
AudioFormat.ALAW,
AudioFormat.DOLBYAC3,
AudioFormat.DVI,
AudioFormat.DVI_RTP,
AudioFormat.G723,
AudioFormat.G723_RTP,
AudioFormat.G728,
AudioFormat.G728_RTP,
AudioFormat.G729,
AudioFormat.G729A,
AudioFormat.G729A_RTP,
AudioFormat.G729_RTP,
AudioFormat.GSM,
AudioFormat.GSM_MS,
AudioFormat.GSM_RTP,
AudioFormat.IMA4,
AudioFormat.IMA4_MS,
AudioFormat.LINEAR,
AudioFormat.MAC3,
AudioFormat.MAC6,
AudioFormat.MPEG,
AudioFormat.MPEGLAYER3,
AudioFormat.MPEG_RTP,
AudioFormat.MSADPCM,
AudioFormat.MSNAUDIO,
AudioFormat.MSRT24,
AudioFormat.TRUESPEECH,
AudioFormat.ULAW,
AudioFormat.ULAW_RTP,
AudioFormat.VOXWAREAC10,
AudioFormat.VOXWAREAC16,
AudioFormat.VOXWAREAC20,
AudioFormat.VOXWAREAC8,
AudioFormat.VOXWAREMETASOUND,
AudioFormat.VOXWAREMETAVOICE,
AudioFormat.VOXWARERT29H,
AudioFormat.VOXWARETQ40,
AudioFormat.VOXWARETQ60,
AudioFormat.VOXWAREVR12,
AudioFormat.VOXWAREVR18
};
static String videoformats[] = {
VideoFormat.CINEPAK,
VideoFormat.H261,
VideoFormat.H261_RTP,
VideoFormat.H263,
VideoFormat.H263_1998_RTP,
VideoFormat.H263_RTP,
VideoFormat.INDEO32,
VideoFormat.INDEO41,
VideoFormat.INDEO50,
VideoFormat.IRGB,
VideoFormat.JPEG,
VideoFormat.JPEG_RTP,
VideoFormat.MJPEGA,
VideoFormat.MJPEGB,
VideoFormat.MJPG,
VideoFormat.MPEG,
VideoFormat.MPEG_RTP,
VideoFormat.RGB,
VideoFormat.RLE,
VideoFormat.RPZA,
VideoFormat.SMC,
VideoFormat.YUV
};
public static void main(String args[]) {
/* Audio capture devices */
System.out.println("CAPTURE AUDIO FORMATS:");
for (String format : audioformats) {
System.out.println("\tFormat: "+format);
Vector<CaptureDeviceInfo> devices = CaptureDeviceManager.getDeviceList(new AudioFormat(format));
if (devices.isEmpty())
System.out.println("\t\tNO CAPTURE DEVICES");
for (CaptureDeviceInfo device : devices) {
System.out.println("\t\t"+device.getName());
}
}
/* Video capture devices */
System.out.println("CAPTURE VIDEO FORMATS:");
for (String format : videoformats) {
System.out.println("\tFormat: "+format);
Vector<CaptureDeviceInfo> devices = CaptureDeviceManager.getDeviceList(new VideoFormat(format));
if (devices.isEmpty())
System.out.println("\t\tNO CAPTURE DEVICES");
for (CaptureDeviceInfo device : devices) {
System.out.println("\t\t"+device.getName());
}
}
}
}
|