Java Android摄像头示例
我正在开发android摄像头应用程序,我找到了一个代码: 但我面临着两个我无法理解的问题。第一个是在这一部分:Java Android摄像头示例,java,android,camera,Java,Android,Camera,我正在开发android摄像头应用程序,我找到了一个代码: 但我面临着两个我无法理解的问题。第一个是在这一部分: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().addFlags(WindowManager.LayoutPa
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
myContext = this;
initialize();
}
事实上,我不明白什么是initialize(),它的用途是什么?我找过了,但什么也没找到
第二个问题在这一部分:
public void onResume() {
super.onResume();
if (!hasCamera(myContext)) {
Toast toast = Toast.makeText(myContext, "Sorry, your phone does not have a camera!", Toast.LENGTH_LONG);
toast.show();
finish();
}
if (mCamera == null) {
//if the front facing camera does not exist
if (findFrontFacingCamera() 1) {
//release the old camera instance
//switch camera, from the front and the back and vice versa
releaseCamera();
chooseCamera();
} else {
Toast toast = Toast.makeText(myContext, "Sorry, your phone has only one camera!", Toast.LENGTH_LONG);
toast.show();
}
}
};
我不明白这个表达式:if(findFrontFacingCamera()1)。
因为findFrontFacingCamera()
不是boolean
,1中有问题
initialize()
确保您的相机已初始化
不理解以下表达式:if(findFrontFacingCamera()1)。
因为findFrontFacingCamera()不是布尔值,并且
1!
在这种情况下,当您尝试查找摄像头时(设备上通常有两个摄像头,但在某些情况下只有后部或前部摄像头)
因此,“1”标志意味着您要选择第二个摄像头,而“0”将选择第一个(通常是后部)摄像头本教程中存在拼写错误和遗漏。每个下载项目的onResume是
super.onResume();
if (!hasCamera(myContext)) {
Toast toast = Toast.makeText(myContext, "Sorry, your phone does not have a camera!", Toast.LENGTH_LONG);
toast.show();
finish();
}
if (mCamera == null) {
if (findFrontFacingCamera() < 0) {
Toast.makeText(this, "No front facing camera found.", Toast.LENGTH_LONG).show();
switchCamera.setVisibility(View.GONE);
}
mCamera = Camera.open(findBackFacingCamera());
mPicture = getPictureCallback();
mPreview.refreshCamera(mCamera);
}
我相信这是一个打字错误??在评论行中
//if the front facing camera does not exist
在if条件之前,我可以看到需要进行以下更改。
换线
if (findFrontFacingCamera() 1)
到
正如我在示例中看到的,这是一个返回相机id的方法
请注意,对于前向摄像头id=1和后向摄像头,其值为0。但当我写入initialize()时,eclipse表示它未定义,并给出错误!
if (findFrontFacingCamera() 1)
if (findFrontFacingCamera()== -1)