我需要一种在录制视频的同时在Android设备上控制相机闪光灯的方法。我正在制作一个频闪灯应用程序,使用频闪灯闪烁的视频拍摄视频将能够记录高速移动的物体,例如风扇叶片。 只能通过启动视频预览并在相机的参数中设置FLASH_MODE_TORCH来启用闪光灯。看起来像这样: Camera c = Camera.open(); Camera.Parameters p = c.getParameters(); p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); c.set…

2020年8月16日 0条评论 37点热度 阅读全文

我想知道是否有一种方法可以知道何时自动对焦吗? 我有一个应用程序,可以对视频进行一些图像处理。我要做的第一件事是打开闪光灯和自动对焦,我的问题是我不知道自动对焦是否完成(我需要以编程方式知道),所以我可以开始所有图像处理仅在自动对焦完成后。 这就是我配置相机设置的方式: @Override public void surfaceCreated(SurfaceHolder arg0) { try { camera = Camera.open(); parameters = camera.getParameters()…

2020年6月3日 0条评论 30点热度 阅读全文

我有一个几乎可以在所有屏幕上正常运行的摄像头预览,但是当我使用2960x1440屏幕(例如在手机S8和S9上)测试我的摄像头时,预览确实很宽。 我已经包含了为相机设置preview size的所有内容。 private static final int MAX_PREVIEW_WIDTH = 2960; private static final int MAX_PREVIEW_HEIGHT = 1440; /** * Given {@code choices} of {@code Size}s supported …

2020年6月3日 0条评论 50点热度 阅读全文

当通过TextureView录制到屏幕的内容没有镜像时,使用setTransform()方法: Matrix txform = new Matrix(); mTextureView.getTransform(txform); txform.setScale((float) newWidth / viewWidth, (float) newHeight / viewHeight); txform.postTranslate(xoff, yoff); mTextureView.setTransform(txform);…

2020年5月12日 0条评论 13点热度 阅读全文

我需要一种在录制视频的同时在Android设备上控制相机闪光灯的方法。我正在制作一个频闪灯应用程序,使用频闪灯闪烁的视频拍摄视频将能够记录高速移动的物体,例如风扇叶片。 只能通过启动视频预览并在相机的参数中设置FLASH_MODE_TORCH来启用闪光灯。看起来像这样: Camera c = Camera.open(); Camera.Parameters p = c.getParameters(); p.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH); c.set…

2020年5月5日 0条评论 36点热度 阅读全文

我已经遵循了this官方Android网站上的所有内容。 我已经在代码中的createTempFile()中存储了currentImagePath的路径。显示路径的打印。但是,似乎该路径上没有数据。 我的逻辑是将数据从该路径复制到永久路径。 btnTakePic.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { captureImage(v); /*try { Thread.sleep(10…

2020年4月19日 0条评论 36点热度 阅读全文

我在堆栈上看到了很多问题,但是没有人告诉我们是否会发生无法连接相机服务的问题,以及如何摆脱此RuntimeException的问题。 我有一个摄像头应用程序,其工作正常,我已经在小心释放资源,但是如果用户以某种方式安装了另一个无法正确释放资源的应用程序,则我的应用程序面对RuntimeException: Fail to connect to camera Service从而崩溃了,想要避免这种情况。 如果我单击原始相机应用程序,则会显示AlertDialog Camera error: Cannot connec…

2020年3月11日 0条评论 15点热度 阅读全文

我正在开发一个处理过程很繁琐的应用程序,每次按下按钮时,我都需要拍摄图像并将其保存。按下按钮时,我触发相机对象的setOneShotPreviewCallback()方法以获取表示当时图像的byte[]。在此之后的那一刻,我将使用这个byte[]并使用YUVImage对象将其转换为位图,该对象在处理器上非常繁琐。为了减少这种情况,我使用以下方法裁剪图像: Rect rect = new Rect(4*w/10, 0, 9*w/10, h); final ByteArrayOutputStream output_st…

2020年2月27日 0条评论 36点热度 阅读全文

在旧的android相机api中,我们可以使用此方法删除图像中的GPS数据。(Camera.Parameters -> removeGpsData) 有谁知道如何使用新的Android Camera2 API删除或禁用图像中的GPS数据?我们的目标是在图像的exif中拍摄没有gps信息的图片。 以下是我的代码: private fun createCameraPreviewSession() { try { val texture = textureView.surfaceTexture // We conf…

2020年2月25日 0条评论 65点热度 阅读全文

背景作为软件的新手,我目前的目标是将CameraPreview格式化为全屏显示,这与Snapchat上的摄像头预览相同。现在,我可以按照this tutorial设置的1:1框格式展示我的相机预览。我在其他问题中遇到的其他可能的解决方案要么使预览图像拉伸(stretch)/变形,要么没有完全启动该应用程序。在保持肖像模式的情况下,我将如何做到这一点?下面提供的代码其他设备规格包括以下事实:我要启动该应用程序的设备是OnePlus 6,其长宽比为19:9。这就是我的应用程序上的相机当前的外观。 。我想消除预览上方和下…

2020年2月22日 0条评论 40点热度 阅读全文