码迷,mamicode.com
首页 > 其他好文 > 详细

困扰一天啦,求大神不吝指导,Camera的onPreviewFrame中的问题

时间:2014-10-22 00:46:04      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:des   blog   http   io   os   ar   java   for   sp   

============问题描述============


bubuko.com,布布扣
布上我初始化的函数
protected void initCamre()

	{

		camera = Camera.open(0);

		camera.setDisplayOrientation(90);

		Camera.Parameters parameters = camera.getParameters();

		parameters.setPreviewSize(720, 1280);

		parameters.setPreviewFpsRange(4, 10);

		parameters.setPictureFormat(ImageFormat.JPEG);

		parameters.set("jpeg-quelity", 85);

		parameters.setPictureSize(720, 1280);

		if (parameters.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE))

		{

			parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);

		}

		int[] textures = new int[1];

		GLES20.glGenTextures(1, textures, 0);

		SurfaceTexture surfaceTexture = new SurfaceTexture(textures[0]);

		try

		{

			camera.setPreviewTexture(surfaceTexture);

			camera.setPreviewCallback(new MyCamera());

			camera.startPreview();

		}

		catch (IOException e)

		{

			Log.i("tyty", e.toString());



			e.printStackTrace();

		}

	}


MyCamera类

	class MyCamera implements PreviewCallback

	{



		@Override

		public void onPreviewFrame(byte[] data, Camera camera)

		{



			Camera.Parameters ps = camera.getParameters();

			int[] imgs = new int[ps.getPreviewSize().width * ps.getPreviewSize().height];

			 camera.addCallbackBuffer(data);

			Log.i("tyty", "回调");

		}



	}


这里面的onPreviewFrame回调方法只会执行五次,然后就不再执行,这是什么原因呢???

============解决方案1============


camera.setPreviewCallback(new Camera.PreviewCallback() {
            @Override
            public void onPreviewFrame(byte[] data, Camera camera) {
             
            }
        });

//代码应该是没有问题的。

============解决方案2============


因为你用的是surfaceTexture,surfaceTexture里面的数据要消耗了,才能填充新的数据进去,这样你才能抓到preview数据,你要在surfacetexture收到新的frame之后,调用surfacetexture.updateTexImage()去消耗buffer才行。
或者你直接换用surfaceview,这样就不用自己处理了。

困扰一天啦,求大神不吝指导,Camera的onPreviewFrame中的问题

标签:des   blog   http   io   os   ar   java   for   sp   

原文地址:http://www.cnblogs.com/lmyangbk/p/4041911.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!