Есть ли способ уменьшить светодиодную подсветку на iPhone 4? - PullRequest
4 голосов
/ 01 июля 2010

Есть ли способ или свойство, позволяющее установить яркость светодиодного освещения на iPhone 4?

Ответы [ 3 ]

5 голосов
/ 24 июля 2012

Для iOS 6 и более поздних версий доступен метод яркости.

[AVCaptureDevice setTorchModeOnWithLevel:1.0 error:&error];

'Уровень' - это число с плавающей точкой от 0 до ~ 1, AVCaptureMaxAvailableTorchLevel. Колебание этого позволит нам изменять яркость.

0 голосов
/ 19 апреля 2012

В принципе, яркость можно изменять с помощью метода ШИМ (широтно-импульсная модуляция): например, для 50% яркости включите светодиод на некоторое время, затем выключите его на тот же период времени и так далее. При быстром выполнении мерцание не будет видно, а яркость будет равна 50%.

К сожалению, я пока не нашел способа переключать светодиод iPhone на достаточно высокой частоте. Переключение AVCaptureTorchModeOn / AVCaptureTorchModeOff не кажется достаточно быстрым - или, возможно, основной поток (на котором я пробовал) просто имеет слишком низкий приоритет в iOS.

Редактировать: теперь есть API для установки уровня фонарика в iOS 6.

0 голосов
/ 08 декабря 2010

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

Если есть способ изменить яркость, на данный момент он не доступен через публичный API.

...