diff --git a/src/main/java/org/aohe/Main.java b/src/main/java/org/aohe/Main.java index b13f548..d0e6cd7 100644 --- a/src/main/java/org/aohe/Main.java +++ b/src/main/java/org/aohe/Main.java @@ -13,13 +13,15 @@ import javax.swing.*; import org.aohe.constant.Control; +import java.nio.file.Paths; + @Slf4j public class Main { private static final String JAVA_IO_TMPDIR = System.getProperty("java.io.tmpdir"); public static void main(String[] args) throws Exception { - AppLocker locker = AppLocker.create("aoheSaneServiceLock").build(); + AppLocker locker = AppLocker.create("aoheSaneServiceLock").setPath(Paths.get(JAVA_IO_TMPDIR)).build(); UIManager.setLookAndFeel(new FlatDarculaLaf()); try { locker.lock(); @@ -39,7 +41,5 @@ public class Main { TrayFrameUtf8.initSystemTrayUTF8(); } - private void logLocking(String message) { - log.info("{}", message); - } + } \ No newline at end of file diff --git a/src/main/java/org/aohe/control/Operational.java b/src/main/java/org/aohe/control/Operational.java index 0b4147c..161b530 100644 --- a/src/main/java/org/aohe/control/Operational.java +++ b/src/main/java/org/aohe/control/Operational.java @@ -16,9 +16,6 @@ import java.util.*; @Slf4j public class Operational { - - private static TwainScanner scanner = null; - public static String selectOperational(String path) { JSONObject json = JSONObject.parse(path); @@ -60,7 +57,12 @@ public class Operational { r = R.ok(WebCamUtils.getWebcams()); }else if ("002002".equals(function)){ //设置webcam - WebCamUtils.setWebcam(param.getString("name")); + Integer id = param.getInteger("id"); + if(id != null){ + WebCamUtils.setWebcam(id); + }else{ + WebCamUtils.setWebcam(param.getString("name")); + } r = R.ok(WebCamUtils.getViewSizes()); }else if("002003".equals(function)){ //获取摄像头分辨率 @@ -126,7 +128,7 @@ public class Operational { * 选中某一获取到的扫描仪 * @return R -> success */ - public static R setScanner(String name) throws TwainException, InterruptedException { + public static R setScanner(String name) throws TwainException { if(name == null || name.isEmpty()){ return R.fail("扫描仪名字为空"); } @@ -216,9 +218,8 @@ public class Operational { * @param name 扫描仪名称 * @param systemUI 是否使用打印机自带UI * @return R - * @throws TwainException default error */ - public static R startScan(String name, boolean systemUI ) throws TwainException { + public static R startScan(String name, boolean systemUI ) { Source source = new Source(); source.setName(name); source.setSystemUI(systemUI); diff --git a/src/main/java/org/aohe/webcam/WebCamUtils.java b/src/main/java/org/aohe/webcam/WebCamUtils.java index f0c3e77..749d348 100644 --- a/src/main/java/org/aohe/webcam/WebCamUtils.java +++ b/src/main/java/org/aohe/webcam/WebCamUtils.java @@ -61,6 +61,18 @@ public class WebCamUtils { webcam = initWebcam(); } + /** + * 设置摄像头 + * @param id + */ + public static void setWebcam(int id){ + if(webcam!=null && webcam.isOpen()){ + webcam.close(); + } + webcam = Webcam.getWebcams().get(id); + webcam = initWebcam(); + } + /** * 获取摄像头列表 * @return