Jam*_*meo 12 camera android android-camera
我正在创建一个使用水龙头来聚焦功能的相机应用程序,就像许多标准相机应用程序一样.我首先得到触摸事件的(x,y)坐标,然后将此值传递给UI.然后,我尝试设置焦点区域,如下所示:
Rect newRect = new Rect(left,top,right, bottom);
Camera.Parameters params = mCamera.mCameraInstance.getParameters();
Camera.Area focusArea = new Camera.Area(newRect, 1000);
List<Camera.Area> focusAreas = new ArrayList<Camera.Area>();
focusAreas.add(focusArea);
params.setFocusAreas(focusAreas);
Run Code Online (Sandbox Code Playgroud)
但是,它似乎没有任何效果.所以,我将一些值硬编码到矩形中(这样,我可以排除触摸事件中的坏坐标). 根据文档,它正在寻找空间中的坐标(-1000,-1000)(左上)到(1000,1000)(右下).
所以我用这个替换了上面的矩形:
//should target a 100x100 square in the center of the screen
Rect newRect = new Rect(-50,-50,50, 50);
Run Code Online (Sandbox Code Playgroud)
而且,似乎没有效果.我知道我的相机支持设置对焦区域,因为首先,相机应用程序成功使用它,并且params.getMaxNumFocusAreas()返回1.
如果有人在过去成功使用过这个,请告诉我!
我发现这个类似的问题似乎也表明这个API根本无法在Android 4.0设备上运行(我正在测试4.1.1,Galaxy S3).然而,这些设备上的相机应用程序仍然具有点对点功能.我错过了什么?
它对我也不起作用,但无论如何,在设置你的矩形时,请确保
left < right
和top < bottom
!您正在将矩形的高度设置为-100!而且,顺便说一句,您设置的不是 50x50 的正方形,而是 100x-100。
归档时间: |
|
查看次数: |
5555 次 |
最近记录: |