我用 Java 编写了一个程序,它接收图像文件并处理图像。现在我正在尝试访问相机,以便我可以拍摄照片并将其提供给图像处理程序,但是我不知道如何执行此操作。我已经阅读了有关相机类的信息以及如何请求权限,但我不知道如何实际拍摄照片。如果有人对我应该从哪里开始有任何提示,或者如果他们知道一个好的教程,我将非常感激。谢谢!
最佳答案
Google 是您最好的 friend ,这里有一些教程:
How-To Program The Google Android Camera To Take Pictures
Take Picture from Camera Emulator
首先编辑你的AndroidManifest.xml,添加相机权限:
<uses-permission android:name=”android.permission.CAMERA”/>
必须打开和关闭相机服务:
Camera camera = Camera.open();
//Do things with the camera
camera.release();
您可以设置相机设置,例如:
Camera.Parameters parameters = camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
camera.setParameters(parameters);
拍照:
private void takePicture() {
camera.takePicture(shutterCallback, rawCallback, jpegCallback);
}
ShutterCallback shutterCallback = new ShutterCallback() {
public void onShutter() {
// TODO Do something when the shutter closes.
}
};
PictureCallback rawCallback = new PictureCallback() {
public void onPictureTaken(byte[] _data, Camera _camera) {
// TODO Do something with the image RAW data.
}
};
PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] _data, Camera _camera) {
// TODO Do something with the image JPEG data.
}
};
不要忘记将相机布局添加到您的主布局 xml 中。
关于java - 如何访问 Android 手机上的相机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3783124/