public SnapperMIDlet() { mExitCommand = new Command("Exit", Command.EXIT, 0); mCameraCommand = new Command("Camera", Command.SCREEN, 0); mBackCommand = new Command("Back", Command.BACK, 0); mCaptureCommand = new Command("Capture", Command.SCREEN, 0); mMainForm = new Form("Snapper"); mMainForm.addCommand(mExitCommand); String supports = System.getProperty("video.snapshot.encodings"); if (supports != null && supports.length() > 0) { mMainForm.append("Ready to take pictures."); mMainForm.addCommand(mCameraCommand); } else mMainForm.append("Snapper cannot use this " + "device to take pictures."); mMainForm.setCommandListener(this); }
public void capture() { try { // Get the image. byte[] raw = mVideoControl.getSnapshot(null); Image image = Image.createImage(raw, 0, raw.length); Image thumb = ImageUtility.createThumbnail(image); // Place it in the main form. if (mMainForm.size() > 0 && mMainForm.get(0) instanceof StringItem) mMainForm.delete(0); mMainForm.append(thumb); // Flip back to the main form. mDisplay.setCurrent(mMainForm); // Shut down the player. mPlayer.close(); mPlayer = null; mVideoControl = null; } catch (MediaException me) { handleException(me); } }