【发布时间】:2014-03-02 06:00:57
【问题描述】:
我正在使用 libgdx 来制作应用程序,并且我需要使用相机,所以我按照 this 教程进行操作,并且我的所有相机源都旋转了 90 度,但它们被绘制得好像不是一样。不幸的是,这意味着预览完全失真并且很难使用。
除非要求 sn-ps,否则我不会在这里发布我的代码,因为我将教程中的代码复制粘贴到我的游戏中。我记得所做的唯一更改如下。
我更改了CameraSurace.java中原来的surfaceCreated()方法
public void surfaceCreated( SurfaceHolder holder ) {
// Once the surface is created, simply open a handle to the camera hardware.
camera = Camera.open();
}
打开前置摄像头(我使用的是只有前置摄像头的 Nexus 7...)
public void surfaceCreated( SurfaceHolder holder ) {
// Once the surface is created, simply open a handle to the camera hardware.
camera = openFrontFacingCamera();
}
@SuppressLint("NewApi")
private Camera openFrontFacingCamera()
{
int cameraCount = 0;
Camera cam = null;
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
cameraCount = Camera.getNumberOfCameras();
for ( int camIdx = 0; camIdx < cameraCount; camIdx++ ) {
Camera.getCameraInfo( camIdx, cameraInfo );
if ( cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT ) {
try {
cam = Camera.open( camIdx );
} catch (RuntimeException e) {
System.out.println("Falied to open.");
}
}
}
return cam;
}
除此之外,其余代码几乎完全相同(不包括细微的变量更改等。)
【问题讨论】:
标签: java android camera libgdx