Java me 视频捕获问题

Java me 视频捕获问题,java-me,lwuit,Java Me,Lwuit,我想从捕获的视频中创建lwiit图像。问题是调用getSnapshot()时引发了MediaException: 那么问题的原因可能是什么呢?MMAPI能够创建图像,您可以轻松地将其转换为LWUIT图像(具有接受对象的创建图像)。然而,出于某种原因,提出此API的“天才”将图像捕获作为受限制的API,以保护您的隐私。因此,在没有操作员/制造商签名的情况下,您无法有效地调用此API MMAPI具有创建图像的功能,您可以轻松地将其转换为LWUIT图像(具有接受对象的创建图像)。然而,出于某种原因,提

我想从捕获的
视频
中创建
lwiit
图像
。问题是调用
getSnapshot()
时引发了
MediaException


那么问题的原因可能是什么呢?

MMAPI能够创建图像,您可以轻松地将其转换为LWUIT图像(具有接受对象的创建图像)。然而,出于某种原因,提出此API的“天才”将图像捕获作为受限制的API,以保护您的隐私。因此,在没有操作员/制造商签名的情况下,您无法有效地调用此API

MMAPI具有创建图像的功能,您可以轻松地将其转换为LWUIT图像(具有接受对象的创建图像)。然而,出于某种原因,提出此API的“天才”将图像捕获作为受限制的API,以保护您的隐私。因此,在没有操作员/制造商签名的情况下,您无法有效地调用此API

我对Canvas/LCDUI了解不多。?您能使用LWUIT UI元素吗?将其转换为LWUIT将是一项困难的工作!我有一个和你一样的问题,看看这个关于如何在LWUIT中捕获图像的示例,我希望这对你有所帮助。我注意到,即使使用fileConnection.create()创建文件也不起作用!我的手机有点奇怪!最后我找到了原因:我的应用程序中有很多记录库,所以没有足够的空间放图像。我对Canvas/LCDUI不太了解。?您能使用LWUIT UI元素吗?将其转换为LWUIT将是一项困难的工作!我有一个和你一样的问题,看看这个关于如何在LWUIT中捕获图像的示例,我希望这对你有所帮助。我注意到,即使使用fileConnection.create()创建文件也不起作用!我的手机有点奇怪!最后我找到了原因:我的应用程序中有很多记录库,所以没有足够的空间放图像。
private void showCamera() // called when clicking the "open camera" command
    {
        try
        {
            Player mPlayer;
            VideoControl mVideoControl;
            mPlayer = Manager.createPlayer("capture://video");
            mPlayer.realize();
            mVideoControl = (VideoControl) mPlayer.getControl("VideoControl");
            Canvas canvas = new CameraCanvas(this, mVideoControl, mPlayer, getFirstAvailableRoot(), "ADC"+adcId); // adcId is "1"
            isFromPositionnement = true; // static variable
            javax.microedition.lcdui.Display.getDisplay(controler).setCurrent(canvas);
            mPlayer.start();
        } catch (IOException ex) {
            handleException();
        } catch (MediaException ex) {
            handleException();
        }
    }

private String getFirstAvailableRoot()
    {
        short iter;
        String root = "Phone:/";
        iter = 0;
        Enumeration drives = FileSystemRegistry.listRoots();
        while(drives.hasMoreElements() && iter < 1) {
            root = String.valueOf(drives.nextElement());
            iter++;
        }
        return root;
    }
    public class CameraCanvas extends Canvas implements CommandListener 
    {
        ...
        public CameraCanvas(Ecran form, VideoControl videoControl, Player pPlayer, String pRoot, String dossierPhoto)
        {
            ...
            mCaptureCommand = new Command("Capturer", Command.SCREEN, 1);
            addCommand(mCaptureCommand);
            setCommandListener(this);
            ...
            videoControl.initDisplayMode(VideoControl.USE_DIRECT_VIDEO, this);
            try
            {
                videoControl.setDisplayLocation(2, 2);
                videoControl.setDisplaySize(width - 4, height - 4);
            } 
            catch (MediaException me)
            {
                try
                {
                    videoControl.setDisplayFullScreen(true);
                } 
                catch (MediaException me2)
                {}
            }
            videoControl.setVisible(true);
        }
        private void capture() // called when clicking the mCaptureCommand command
        {
            try
            {
                isPhotoCaptured = true;
                rawImg = vidCtrl.getSnapshot(null); // this throws the exception
                vidCtrl.setVisible(false);
                vidCtrl = null;
                mPlayer.close();
                mPlayer = null;
                repaint();
            }
            catch (MediaException me)
            {
                isPhotoCaptured = false;
                rawImg = null;
                vidCtrl.setVisible(false);
                vidCtrl = null;
                mPlayer.close();
                mPlayer = null;
                handleException("capture ");
            }
        }
    }