java - 如何访问 Android 手机上的相机?

标签 java android android-emulator

我用 Java 编写了一个程序,它接收图像文件并处理图像。现在我正在尝试访问相机,以便我可以拍摄照片并将其提供给图像处理程序,但是我不知道如何执行此操作。我已经阅读了有关相机类的信息以及如何请求权限,但我不知道如何实际拍摄照片。如果有人对我应该从哪里开始有任何提示,或者如果他们知道一个好的教程,我将非常感激。谢谢!

最佳答案

Google 是您最好的 friend ,这里有一些教程:

Using the camera

How-To Program The Google Android Camera To Take Pictures

Take Picture from Camera Emulator

camera

首先编辑你的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/

相关文章:

java - 将对象数组转换为自定义类数组

java - 如何在 Spring UriComponentsBuilder 中对逗号进行编码?

java - 安卓 : SharedPreferences how to disapear second parameter from activity (if nothing found in sharedPreferences)

visual-studio - 为什么 Android 版 Visual Studio 模拟器不再启动?

java - 更改 Edittext 中的值

java - 单击抽屉导航上的字符串/链接可加载本地 HTML 页面

java - 为 Android 加速 Jsoup

android - 从文件夹内的音频文件填充自定义 ListView

Android - 在 ImageView 周围设置边框

java - 检查Android手机是模拟器还是真机