Есть ли способ настроить уровень яркости фонарика / вспышки на устройстве iOS?

#ios #camera

#iOS #камера

Вопрос:

Я прочитал много тем по настройке яркости экрана, но можно ли сделать то же самое со вспышкой или это двоичное включение / выключение?

Ответ №1:

В IOS 6 вы можете.

 [myAVCaptureDevice setTorchModeOnWithLevel:0.5 error:NULL]; <== range is (0,1.0] (don't send 0)
 

Вы можете перечислить устройства av-захвата следующим образом:

 NSArray * devices = [AVCaptureDevice devices];
 

и определите, у которых есть факелы (т. Е. Не микрофоны :):

 myAVCaptureDevice.hasTorch
 

http://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVCaptureDevice_Class/Reference/Reference.html

Комментарии:

1. Я пробовал этот метод для уменьшения яркости, но даже при очень маленьком значении (0,001) он все равно ослепительно яркий. Это то, чего я должен ожидать? Я не вижу большой разницы между полной и низкой яркостью. (Я использую iOS 8 и iOS 9.)

2. Да, разница невелика. Это никогда не доходит до того, что человек назвал бы «тусклым».

3. Это отстой: (Я пытаюсь создать сканер штрих-кода для пользовательского штрих-кода, который использует магнитные чернила, включение света очень помогло прочитать большую часть штрих-кода, но все, что находится прямо под светом, светит так ярко, что металл в чернилах перекрывает остальное, и штука начинает светиться.сияйте как зеркало, полностью меняя цвет (т. Е. чернила черные, поэтому я ищу черные полосы, но под светом они светятся белым)

4. Я не думаю, что светодиоды работают при самых разных яркостях. Я не думаю, что это ограничение программного обеспечения.

Ответ №2:

Сам фонарик включен / выключен, но вы можете управлять «вручную», когда его включать и выключать (для этого вам нужно будет использовать NSTimer).

Может быть, вы сможете сделать это достаточно быстро, чтобы свет выглядел приглушенным (я действительно не знаю, сработает ли это практически).

Вы можете начать с iStrobe (с открытым исходным кодом) и легко проверить его: http://www.vellios.com/istrobe /

Комментарии:

1. Я попробовал это, и это работает не очень хорошо. Даже блокировка устройства для настройки, а затем выполнение цикла в потоке с высоким приоритетом, который быстро включает / выключает фонарик с различными рабочими циклами. Независимо от того, какое время я использовал, оно все равно заметно мигало со скоростью около 5-10 вспышек в секунду и не меняло видимую яркость.

2. Это было просто предложение. Я сам не пробовал. Приятно знать, что это невозможно (но это странно).

Ответ №3:

Да, в ios6 вы можете настроить уровень яркости. Существует свойство для регулировки уровня яркости… диапазон значений от 0.0 до 1.0

Комментарии:

1. @H Бастан, свойство torchLevel доступно только для чтения и было добавлено в iOS 5. В iOS 6 появился новый метод, setTorchModeOnWithLevel:ошибка: как упоминалось xaxxon, выше, который позволяет устанавливать яркость с iOS 6 или более поздней версии.