Обзор
Приложению с камерой часто нужен свет: камера наблюдения в тёмной комнате, сканер, видеозвонок ночью. KlugTorch включает и выключает подсветку камеры (светодиод рядом с задней камерой), пока камера продолжает работать.
KlugTorch сначала определяет, есть ли на устройстве подсветка камеры вообще. У многих планшетов и некоторых телефонов её нет, поэтому приложение может просто скрыть там кнопку света.
Он работает параллельно с живым потоком камеры. KlugTorch не открывает собственную камеру, поэтому никогда не конкурирует с потоком за камеру.
Приложения, которые ведут трансляцию через KlugMedia, могут также использовать его встроенное управление фонариком. KlugTorch ежедневно используется в наших приложениях, нашем доказательстве работоспособности.
Возможности
- Автономность: один ANE, без базовой библиотеки и зависимых ANE
- Определяет, есть ли на устройстве подсветка камеры
- Включение и выключение подсветки камеры одним вызовом
- Работает во время трансляции с камеры на iOS, без прерываний
- Считывает текущее состояние подсветки
- Событие изменения после каждого переключения, в том числе при неудаче
- Один API для iOS и Android
Поддерживаемые платформы
На устройствах без подсветки камеры и на других платформах isSupported возвращает false, поэтому один и тот же код можно оставить в любом приложении.
Начало работы
Добавьте расширение в дескриптор вашего приложения:
<extensions>
<extensionID>com.klug.torch.Torch</extensionID>
</extensions>
Подсветка находится рядом с задней камерой, поэтому активной должна быть задняя камера.
Примеры кода
Три полных сценария. on() и off() возвращаются сразу; после каждого вызова следует событие изменения, а mode сообщает результат. Полная документация →
import com.klug.torch.Torch; import flash.events.Event; var torch:Torch = Torch.getInstance(); // iOS: true if the default (back) camera has a torch. // Android 6+: true if a back-facing camera has a flash. // False on devices without a light and on other platforms. lightButton.visible = torch.isSupported; // lightButton: your app's toggle button
var wantLight:Boolean = false; torch.addEventListener( Event.CHANGE, onTorchChange ); // after every on() / off() function setLight( on:Boolean ):void { wantLight = on; if ( on ) torch.on(); else torch.off(); } function onTorchChange( e:Event ):void { // the event carries no detail: read mode for the current state lightButton.selected = torch.mode; if ( torch.mode != wantLight ) // the light could not be switched showMessage( "The light is not available right now." ); // your app }
function stopStreaming():void { if ( torch.mode ) setLight( false ); // first the light, then the camera stopCamera(); // your app's stream shutdown torch.removeEventListener( Event.CHANGE, onTorchChange ); }
Обзор API
| Torch.getInstance() | Возвращает единственный экземпляр. |
| isSupported | True, только если на устройстве есть пригодная подсветка камеры: на iOS у камеры по умолчанию (задней) есть фонарик, на Android 6+ у задней камеры есть вспышка. |
| on() | Включает подсветку камеры; следует событие изменения. |
| off() | Выключает подсветку камеры; следует событие изменения. |
| mode | True, пока свет включён. iOS считывает состояние фонарика камеры; Android сообщает состояние последнего успешного on() / off(). |
События
| Event.CHANGE ("change") | Отправляется после каждого on() и off(), в том числе когда переключить свет не удалось. Результат читайте в mode. |
Купить KlugTorch
Годовая лицензия на одно приложение AIR со всеми обновлениями в течение 12 месяцев. После оплаты вы получаете расширение, библиотеку ActionScript и документацию по e-mail, обычно в течение одного рабочего дня. Лицензия и условия
- Лицензия на одно приложение AIR
- Все обновления в течение 12 месяцев
- Без поддержки
- Лицензия на одно приложение AIR
- Все обновления в течение 12 месяцев
- Ответ по e-mail в течение 7 дней
- Лицензия на одно приложение AIR
- Все обновления в течение 12 месяцев
- Ответ по e-mail в течение 48 часов
Требования
| AIR SDK | 51.x (HARMAN) |
| iOS | iOS 17 или новее |
| Android | Android 6.0 (API 23) или новее |
| Разрешения | Собственных нет |
| Оборудование | Подсветка камеры рядом с задней камерой |