📄 capturedevicemanagertest.java
字号:
package net.sf.fmj.test.compat.misc;import java.io.IOException;import java.util.Vector;import javax.media.CaptureDeviceInfo;import javax.media.CaptureDeviceManager;import javax.media.Format;import javax.media.format.RGBFormat;import junit.framework.TestCase;/** * * @author Ken Larson * */public class CaptureDeviceManagerTest extends TestCase{ public void testCaptureDeviceManager() { final Vector vTest = new Vector(); assertCaptureDeviceInfoVectorEquals(vTest, CaptureDeviceManager.getDeviceList(null)); final Format[] f1s = new Format[]{new RGBFormat()}; assertNotEquals(new CaptureDeviceInfo("abc", null, new Format[]{}), new CaptureDeviceInfo("abc", null, new Format[]{})); assertNotEquals(new CaptureDeviceInfo("abc", null, f1s), new CaptureDeviceInfo("abc", null, f1s)); // strange CaptureDeviceInfo i1 = new CaptureDeviceInfo("abc", null, f1s); assertNotEquals(i1, i1); // strange CaptureDeviceManager.addDevice(i1); vTest.add(i1); assertCaptureDeviceInfoVectorEquals(vTest, CaptureDeviceManager.getDeviceList(null)); assertCaptureDeviceInfoVectorEquals(vTest, CaptureDeviceManager.getDeviceList(new RGBFormat())); CaptureDeviceManager.removeDevice(i1); vTest.remove(i1); assertCaptureDeviceInfoVectorEquals(vTest, CaptureDeviceManager.getDeviceList(null)); try { CaptureDeviceManager.commit(); } catch (IOException e) { e.printStackTrace(); // strange, doesn't throw this ever. Just prints to standard output. assertTrue(false); } } private void assertNotEquals(Object a, Object b) { if (a == null && b == null) assertFalse(true); else if (a == null || b == null) return; assertFalse(a.equals(b)); } private void dumpCaptureDeviceManager() { final Vector v = CaptureDeviceManager.getDeviceList(null); for (int i = 0; i < v.size(); ++i) { final Object o = v.get(i); final CaptureDeviceInfo captureDeviceInfo = (CaptureDeviceInfo) o; System.out.println("captureDeviceInfo: " + captureDeviceInfo.getName()); } } private void assertCaptureDeviceInfoVectorEquals(Vector v1, Vector v2) { assertEquals(v1 == null, v2 == null); if (v1 == null) return; assertEquals(v1.size(), v2.size()); for (int j = 0; j < v1.size(); ++j) { final CaptureDeviceInfo s1 = (CaptureDeviceInfo) v1.get(j); final CaptureDeviceInfo s2 = (CaptureDeviceInfo) v2.get(j); assertTrue(s1 == s2); //assertEquals(s1, s2); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -