package com.what21.jmf.device;
import java.util.Vector;
import javax.media.CaptureDeviceInfo;
import javax.media.CaptureDeviceManager;
import javax.media.Format;
import javax.media.MediaLocator;
import javax.media.format.AudioFormat;
import javax.media.format.VideoFormat;
public class CaptureDeviceList {
/**
* @param args
*/
public static void main(String[] args) {
// 音频格式
Format audioFormat = new AudioFormat(AudioFormat.LINEAR);
// 打印音频设备
System.out.println(CaptureDeviceManager.getDeviceList(audioFormat));
// 视频格式
Format videoFormat = new VideoFormat(VideoFormat.YUV);
// 打印视频设备
System.out.println(CaptureDeviceManager.getDeviceList(videoFormat));
// 返回所有设备
Vector vector = CaptureDeviceManager.getDeviceList(null);
for(int i = 0;i< vector.size() && vector!=null ;i++){
CaptureDeviceInfo deviceInfo = vector.get(i);
if (deviceInfo != null ){
try{
MediaLocator locator = deviceInfo.getLocator();
System.out.print("name : " + deviceInfo.getName());
System.out.println(", protocol : " + locator.getProtocol());
}catch(Exception e) {
e.printStackTrace();
}
}
}
}
}