问题标签 [camera-flash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
498 浏览

android - 更新 UI 上的 seekBar 进度

我正在使用带有频闪仪的手电筒应用程序,此时该应用程序正在运行,闪光灯正在使用按钮工作,并且在搜索栏的帮助下频闪的频率正在增加。

问题是,如果闪光灯打开并且我在搜索栏上向右拖动以启动并增加频闪效果的频率,但是如果我关闭闪光灯并在搜索栏上拖动某个点大于 0 并打开闪光灯的频闪效果它可以工作,但是当它打开时它仍然不会更新并增加频率,我必须关闭并再次打开手电筒来改变频率或停止频闪效果(当然当闪光灯是关闭移动 seekBar)。

你能帮我,让我明白为什么它不更新闪光灯,拜托!我将感激不尽 !谢谢!

这是代码:

搜索栏

频闪跑者

也用于打开和关闭我正在使用的手电筒

onClickListener

0 投票
3 回答
3225 浏览

java - Android Camera2 API Flash 不适用于 Galaxy 设备

我正在使用 Android Camera2 API 为应用程序拍照,但我无法让闪光灯在大多数三星 Galaxy 设备(galaxy s6 edge、galaxy s7、galaxy j7)上正常工作。我相信我已经正确实现了 Flash 逻辑,因为曾经在 Play Store 上的 Google 相机应用程序也表现出相同的行为。此外,galaxy s8 似乎可以很好地使用闪光灯(尽管结果肯定有不一致的照明)

Galaxy j7的问题是当我用闪光灯拍照时(在需要闪光灯的场景中锁定闪光灯或使用自动闪光灯)闪光灯会保持很长时间,预览会锁定,然后图像可能需要 7 秒,并且闪光灯不是图像的一部分。

我有以下处理闪光模式的方法:

每次需要 CaptureRequest.Builder 时都会调用此闪存逻辑

被注释掉的 3 行是我读到的其他内容,建议帮助 flash 为我正常工作,但它似乎没有做任何事情

三星有自己的相机 API(http://developer.samsung.com/galaxy/camera),但我读到它只是 Camera2 的包装,我担心他们的 API 甚至无法解决我的问题。

附加信息:

  • 我尝试了 Play 商店中的一些相机应用程序,有些工作,有些则没有。
  • ZCamera 与闪光灯配合得很好,这让我觉得他们使用三星的相机 API 来让它工作,但后来我注意到 ZCamera 的触摸测光在三星设备上不起作用,这是我在调试 Camera2 实现时遇到的另一个问题。
  • 如果我坚持使用已弃用的 Camera API,Flash 似乎可以正常工作

任何有关如何完成工作闪存的帮助将不胜感激

0 投票
1 回答
292 浏览

android - 以编程方式处理相机闪光灯

我有一个相机布局。我需要它来处理闪光灯图标。就像在普通的内置相机中一样,您单击图标,图标和闪光模式会发生变化。图标位于操作栏中。

我阅读了一些与此相关的帖子,但不知道该怎么做。请帮忙。提出这个问题的方式可能并不理想,所以请让我知道还需要哪些其他代码或细节。

我正在使用表面视图,然后调用相机实例。

0 投票
4 回答
1859 浏览

android - 选择了闪光模式,但相机 2 无法使用这些闪光模式拍摄图像

我正在开发一个涉及手动相机的应用程序,其中它有自己的闪光灯按钮,它从 OFF 到 ON 到 AUTO 旋转。我正在调用带有 onClickListener 的 switch 语句来执行此操作。

所以我现在需要做的是根据选择的闪光灯模式,相机将适当地捕捉。目前无论我选择哪种模式,都不会发生闪光。

我能做些什么?

更多代码来帮助。

0 投票
0 回答
257 浏览

android - 是否可以使用 Android Camera2 控制闪光强度和闪光频率?

我有一个应用程序,我试图通过 Android 智能手机的闪光灯将最大可能的光能传递给对象。

在使用几部手机进行的实验室测量中,我们观察到在拍摄自动曝光照片时闪光灯的光输出可能明显高于稳态手电筒开启(当然这取决于设备)。如果可以在更高的输出电平下触发闪光灯,无论外部照明条件如何,并且在某些情况下以可靠、足够高的频率(5 Hz?),那么在某些情况下可以输出更多的光而不只是让手电筒保持稳定状态。

不幸的是,似乎不可能实现对闪光灯的这种精细控制,我猜是因为闪光灯的强度控制(除了手电筒)与自动曝光控制的关联非常低。

在使用以下请求预览帧时,我已经能够让闪光灯触发:

当捕获结果返回时,FLASH_STATE_FIRED我使用以下命令进行单个静止图像捕获:

似乎需要重置闪光灯。然后我回到上面的预览代码再次闪光,但是闪光灯非常间歇地闪光。

除了简单地打开和关闭手电筒之外,有没有更好的方法来使用 Camera2 接口产生高度一致、高频、高输出的闪光?

0 投票
1 回答
808 浏览

android - 在Android中拍照时如何使用夜景关闭相机的闪光灯?

问题:当我将场景模式设置为 时,当我调用方法SCENE_MODE_NIGHT时,闪光灯无法设置为关闭。takePicture()

伪:

来电拍照:

权限:

Logcat 正确显示: params.getFlashMode(): off,但 flash 被触发。
Logcat(Nexus 5)显示:I/mm-jpeg-intf: process_sensor_data: Flash value 1 flash mode 4 flash state 3通话后mCamera.takePicture

当我评论行时:(params.setSceneMode(Camera.Parameters.SCENE_MODE_NIGHT);或更改为Camera.Parameters.SCENE_MODE_AUTO) flash 不会被触发。
Logcat(Nexus 5)显示:I/mm-jpeg-intf: process_sensor_data: Flash value 0 flash mode 0 flash state 2通话后mCamera.takePicture

目标:使用这些参数:SCENE_MODE_NIGHTFLASH_MODE_OFF一起。
使用:Android 相机 1 API。后置摄像头。
出现:Android 6,7,也可能是 Android 5。
测试

  • Nexus 5:不行。
  • 华为荣耀4C:好的

可能是 Nexus 5“错误”,因为我尝试从 Google Play 打开相机应用程序,将场景设置为夜间,禁用闪光灯,但拍照时闪光灯仍然处于活动状态。

0 投票
0 回答
404 浏览

android - 如何检查相机闪光灯是否在Android Studio上以编程方式打开?

我正在制作一个手电筒应用程序。该应用程序具有从后置摄像头闪光灯切换到前置摄像头闪光灯的选项。问题是,手电筒打开时,如果我将后置摄像头切换到前面,前置摄像头会闪烁不到一秒钟然后关闭。有时这不会发生。所以,这是一个错误。我希望该应用程序在切换相机后检查手电筒是否仍然亮着。我想我必须使用火炬回调。但是谷歌的文档描述性不够,无法理解。另外,关于这个的讨论也不多。所以,我不知道如何使用火炬回调。我试过了,我得到了错误......我一定是尝试了一些错误。这是我的代码: package com.danielfernandzz.flashlight;

}

任何帮助,将不胜感激。如果您认为错误是由我的代码中的错误引起的,那么也请告诉我。任何帮助,将不胜感激。

0 投票
1 回答
1975 浏览

android - Android camera2启用自动手电筒

如何在camera2中启用默认手电筒关闭或打开功能,我可以像默认相机一样启用其中的设置选项吗?

在此处此处看到了一些示例,但他们使用自己的按钮来打开或关闭闪光灯,在这里我想通过启用它来使用默认按钮。

任何建议,将不胜感激。

0 投票
1 回答
72 浏览

swift - 检测何时按下相机闪光灯按钮?

我有一个 UIImagePickerController,用于拍照。左上角有一个闪电按钮。当它被按下时,它会弹出三个选项:自动、开、关。这些按钮指的是闪光模式是自动、开还是关。我想检测何时按下此闪电按钮。我怎样才能做到这一点?

0 投票
1 回答
973 浏览

ios - iOS - 如何检查手电筒/手电筒/闪光灯的开/关状态

我想知道用户在启动应用程序之前是否打开了控制中心上方的灯。我有一个完整的简单测试应用程序,其中包含以下代码viewDidLoad

灯将亮起,应用程序将启动。但它总是返回:

0 -- 0 -- 没有 -- 0.00 -- 没有

它说:

AVCaptureDevice *设备;

device.torchMode = AVCaptureTorchModeOff
device.flashMode = AVCaptureFlashModeOff
device.isFlashActive = NO
device.torchLevel = 0.0f
device.isTorchActive = NO

问题:

我被告知“未激活”,但设备的手电筒已打开。它在控制中心被打开。为什么我不能获取这些信息?