📄 camerademo.java
字号:
} if(snpCtrl != null) { new Thread() { public void run() { snpCtrl.start(maxShots); if(maxShots != snpCtrl.FREEZE_AND_CONFIRM) { vidForm.append("Picture has been saved to disk"); savedMessageAppear = true; } } }.start(); if (maxShots == -1) { if (snapForm == null) { snapForm = new Form("Do you want to save the picture ?"); snapForm.addCommand(saveSnapCommand); snapForm.addCommand(deleteSnapCommand); snapForm.setCommandListener(this); } vidForm.deleteAll(); snapForm.append(videoItem); display.setCurrent(snapForm); } } } private void doSnapshot() { new Thread() { public void run() { try { byte [] snap = vidCtrl.getSnapshot("encoding=jpeg"); if (snap != null) { Image im = Image.createImage(snap, 0, snap.length); ImageItem imi = new ImageItem("", im, Item. PLAIN, ""); vidForm.append(imi); } } catch (MediaException me) { System.err.println(me); } } }.start(); } private void enabledShutterFeedback(boolean enabledFeedback) { final boolean bool = enabledFeedback; new Thread(new Runnable() { public void run() { try { camCtrl.enableShutterFeedback(bool); } catch (Exception me) { return; } } }).start(); if (enabledFeedback) { vidForm.removeCommand(enabledShutterFeedbackCommand); vidForm.addCommand(disabledShutterFeedbackCommand); } else { vidForm.removeCommand(disabledShutterFeedbackCommand); vidForm.addCommand(enabledShutterFeedbackCommand); } } private void setExposureModes() { try { if (exposureModesForm == null) { exposureModesForm = new Form("Select exposure modes:"); exposureModes = new ChoiceGroup(null, Choice.EXCLUSIVE, camCtrl.getSupportedExposureModes(), null); exposureModesForm.append(exposureModes); exposureModesForm.setItemStateListener(this); exposureModesForm.addCommand(backCommand); exposureModesForm.setCommandListener(this); } display.setCurrent(exposureModesForm); } catch (Exception e) { e.printStackTrace(); } } private void setSupportedF_Stops() { try { if (supportedF_StopsForm == null) { supportedF_StopsForm = new Form("Select F_Stop number:"); int fpIntArray[] = expCtrl.getSupportedFStops(); String[] fpStops = new String[fpIntArray.length]; for (int i = 0; i < fpIntArray.length; i++) { fpStops[i] = Integer.toString(fpIntArray[i]); } F_StopsCG = new ChoiceGroup(null, Choice.EXCLUSIVE, fpStops, null); supportedF_StopsForm.append(F_StopsCG); supportedF_StopsForm.setItemStateListener(this); supportedF_StopsForm.addCommand(backCommand); supportedF_StopsForm.setCommandListener(this); } display.setCurrent(supportedF_StopsForm); } catch (Exception e) { e.printStackTrace(); } } private void setFlashMode() { try { if (flashModesForm == null) { flashModesForm = new Form("Select flash mode:"); int flashIntArray[] = flsCtrl.getSupportedModes(); String flashSupportedModes[] = new String[flashIntArray.length]; for (int i = 0; i < flashIntArray.length; i++) { flashSupportedModes[i] = flashAllModes[i]; } int initialMode = flsCtrl.getMode(); flashModes = new ChoiceGroup(null, Choice.EXCLUSIVE, flashSupportedModes, null); flashModes.setSelectedIndex((initialMode - 1), true); flashModesForm.append(flashModes); flashModesForm.setItemStateListener(this); flashModesForm.addCommand(backCommand); flashModesForm.setCommandListener(this); } display.setCurrent(flashModesForm); } catch (Exception e) { e.printStackTrace(); } } private void focusSetting() { try { if (focusModesForm == null) { focusModesForm = new Form("Select focus mode:"); focusSupportedModes = new String[fcsCtrl.getFocusSteps() + 1]; focusModesInt = new int[focusSupportedModes.length]; focusSupportedModes[0] = "Auto Mode"; focusModesInt[0] = fcsCtrl.AUTO; fcsCtrl.setFocus(fcsCtrl.getMinFocus()); for (int i = 1; i < focusSupportedModes.length; i++) { focusModesInt[i] = fcsCtrl.getFocus(); focusSupportedModes[i] = Integer.toString(focusModesInt[i]); fcsCtrl.setFocus(fcsCtrl.NEXT); } if(focusModesInt[focusModesInt.length - 1] == Integer.MAX_VALUE) { focusSupportedModes[focusModesInt.length - 1] = "infinity"; } fcsCtrl.setFocus(fcsCtrl.AUTO); int initialMode = flsCtrl.getMode(); focusModes = new ChoiceGroup(null, Choice.EXCLUSIVE, focusSupportedModes, null); focusModes.setSelectedIndex(0, true); focusModesForm.append(focusModes); focusModesForm.setItemStateListener(this); focusModesForm.addCommand(backCommand); focusModesForm.setCommandListener(this); } display.setCurrent(focusModesForm); } catch (Exception e) { e.printStackTrace(); } } private void zoomSetting() { try { if (zoomModesForm == null) { zoomModesForm = new Form("Select zoom mode:"); //Digital zoom zoomDigSupportedModes = new String[zomCtrl.getDigitalZoomLevels()]; zoomDigModesInt = new int[zoomDigSupportedModes.length]; zomCtrl.setDigitalZoom(100); for (int i = 0; i < zoomDigSupportedModes.length; i++) { zoomDigModesInt[i] = zomCtrl.getDigitalZoom(); zoomDigSupportedModes[i] = Integer.toString(zoomDigModesInt[i]); zomCtrl.setDigitalZoom(zomCtrl.NEXT); } zoomDigModes = new ChoiceGroup(null, Choice.EXCLUSIVE, zoomDigSupportedModes, null); zoomDigModes.setSelectedIndex(0, true); zoomModesForm.append("Set digital zoom"); zoomModesForm.append(zoomDigModes); //Optical zoom zoomOptSupportedModes = new String[zomCtrl.getOpticalZoomLevels()]; zoomOptModesInt = new int[zoomOptSupportedModes.length]; zomCtrl.setOpticalZoom(100); for (int i = 0; i < zoomOptSupportedModes.length; i++) { zoomOptModesInt[i] = zomCtrl.getOpticalZoom(); zoomOptSupportedModes[i] = Integer.toString(zoomOptModesInt[i]); zomCtrl.setOpticalZoom(zomCtrl.NEXT); } zoomOptModes = new ChoiceGroup(null, Choice.EXCLUSIVE, zoomOptSupportedModes, null); zoomOptModes.setSelectedIndex(0, true); zoomModesForm.append("Set optical zoom"); zoomModesForm.append(zoomOptModes); zoomModesForm.setItemStateListener(this); zoomModesForm.addCommand(backCommand); zoomModesForm.setCommandListener(this); } display.setCurrent(zoomModesForm); } catch (Exception e) { e.printStackTrace(); } } private void setSnapshotSettings() { try { if (snapshotSettingsForm == null) { snapshotSettingsForm = new Form("Set the snapshot setting:"); snapshotSettingsForm.addCommand(backCommand); snapSetDisOrSave = new ChoiceGroup("Display or save", ChoiceGroup.POPUP, snapSetOption, null); snapshotSettingsForm.setItemStateListener(this); snapshotSettingsForm.setCommandListener(this); snapSetDisOrSave.setSelectedIndex(1, true); burstNum = new TextField("Number of picture", "1", 3, TextField.NUMERIC); snapSetFreezeOrConfirm = new ChoiceGroup("Freeze option", ChoiceGroup.POPUP, snapSetFreezeOption, null); snapSetFreezeOrConfirm.setSelectedIndex(0, true); snapshotSettingsForm.append(snapSetDisOrSave); snapshotSettingsForm.append(snapSetFreezeOrConfirm); NumOfPic = -2; } display.setCurrent(snapshotSettingsForm); } catch (Exception e) { e.printStackTrace(); } } private void closePlayer() { if (player != null) { player.close(); player = null; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -