Android LG Optimus Black上的摄像头预览

Android LG Optimus Black上的摄像头预览,android,Android,我有一位客户使用LG Optimus Black(android 2.2.2),每次使用黑色时都会有摄像头预览。在其他设备上,一切正常。这个电话有什么问题吗?或者有人有解决办法吗?我的相机预览的代码如下所示 SurfaceHolder.Callback mySurfaceHolderCallback = new SurfaceHolder.Callback() { @Override public void surfaceCreated(SurfaceHolder hol

我有一位客户使用LG Optimus Black(android 2.2.2),每次使用黑色时都会有摄像头预览。在其他设备上,一切正常。这个电话有什么问题吗?或者有人有解决办法吗?我的相机预览的代码如下所示

    SurfaceHolder.Callback mySurfaceHolderCallback = new SurfaceHolder.Callback()
{
    @Override
    public void surfaceCreated(SurfaceHolder holder)
    {
        Log.i("GMG", "surfaceCreated");

        try
        {
            mCamera = Camera.open();
            holder.setFormat(PixelFormat.TRANSLUCENT);
            mCamera.setPreviewDisplay(holder);
        }
        catch (IOException e)
        {
            if (mCamera == null) return;
            mPreviewRunning= false;
            mCamera.release();
            mCamera = null;             
        }
    }

    @Override
    public void surfaceDestroyed(SurfaceHolder holder)
    {
        Log.i("GMG", "surfaceDestroyed");
        if (mCamera != null)
        {
            mCamera.stopPreview();
            mPreviewRunning= false;
            mCamera.release();
            mCamera = null;
        }
    }

    @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width, int height)
    {
        Log.i("GMG", "surfaceChanged");

        if (mCamera != null)
        {
            if(mPreviewRunning) mCamera.stopPreview();

            Camera.Parameters p = mCamera.getParameters();

            //Angolo visivo della fotocamera
            angoloVisualeX = p.getHorizontalViewAngle();
            angoloVisualeY = p.getVerticalViewAngle();

            //Formati della preview
            supportedPreviewSize = p.getSupportedPreviewSizes();            
            int preview_width = supportedPreviewSize.get(supportedPreviewSize.size()-1).width;
            int preview_height = supportedPreviewSize.get(supportedPreviewSize.size()-1).height;
            p.setPreviewSize(preview_width, preview_height);

            //Set camera orientation
            Display display = ((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
            if(display.getRotation() == Surface.ROTATION_0) mCamera.setDisplayOrientation(90);
            if(display.getRotation() == Surface.ROTATION_270) mCamera.setDisplayOrientation(180);

            mCamera.setParameters(p);
            mCamera.startPreview();
            mPreviewRunning = true;
        }
    }
};

致以最诚挚的问候。

我已经解决了问题,我不知道为什么,但是有了一个大的摄像头预览,我没有问题

改变

        int preview_width = supportedPreviewSize.get(supportedPreviewSize.size()-1).width;
        int preview_height = supportedPreviewSize.get(supportedPreviewSize.size()-1).height;


我已经解决了,我不知道为什么,但是有了一个大的摄像头预览,我没有这个问题

改变

        int preview_width = supportedPreviewSize.get(supportedPreviewSize.size()-1).width;
        int preview_height = supportedPreviewSize.get(supportedPreviewSize.size()-1).height;