Überblick
Eine Kamera-App braucht oft Licht: eine Überwachungskamera in einem dunklen Raum, ein Scanner, ein Videoanruf bei Nacht. KlugTorch schaltet das Kameralicht (die LED neben der Rückkamera) ein und aus, während die Kamera weiterläuft.
KlugTorch erkennt zuerst, ob das Gerät überhaupt ein Kameralicht hat. Viele Tablets und manche Smartphones haben keines, sodass eine App dort einfach ihre Licht-Schaltfläche ausblenden kann.
Es funktioniert neben einem laufenden Kamera-Stream. KlugTorch öffnet keine eigene Kamera und konkurriert daher nie mit dem Stream um die Kamera.
Apps, die mit KlugMedia streamen, können auch dessen eingebaute Taschenlampensteuerung nutzen. KlugTorch ist in unseren Apps täglich im Einsatz, unserem Praxisbeweis.
Funktionen
- Eigenständig: eine ANE, keine Kernbibliothek und keine abhängigen ANEs, die Sie ergänzen müssten
- Erkennt, ob das Gerät ein Kameralicht hat
- Kameralicht mit einem Aufruf ein- und ausschalten
- Funktioniert unter iOS, während die Kamera streamt, ohne Unterbrechung
- Liest den aktuellen Zustand des Lichts
- Ein Change-Ereignis nach jedem Schalten, auch wenn es fehlschlägt
- Eine API für iOS und Android
Unterstützte Plattformen
Auf Geräten ohne Kameralicht und auf anderen Plattformen gibt isSupported false zurück, sodass derselbe Code in jeder App bleiben kann.
Erste Schritte
Fügen Sie die Erweiterung Ihrem Application Descriptor hinzu:
<extensions>
<extensionID>com.klug.torch.Torch</extensionID>
</extensions>
Das Licht sitzt neben der Rückkamera, daher sollte die Rückkamera die aktive sein.
Codebeispiele
Drei vollständige Abläufe. on() und off() kehren sofort zurück; nach jedem Aufruf folgt ein Change-Ereignis, und mode nennt das Ergebnis. Vollständige Dokumentation →
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-Übersicht
| Torch.getInstance() | Gibt die einzige Instanz zurück. |
| isSupported | True nur, wenn das Gerät ein nutzbares Kameralicht hat: Unter iOS hat die Standardkamera (hinten) eine Taschenlampe, unter Android 6+ hat eine nach hinten gerichtete Kamera einen Blitz. |
| on() | Schaltet das Kameralicht ein; ein Change-Ereignis folgt. |
| off() | Schaltet das Kameralicht aus; ein Change-Ereignis folgt. |
| mode | True, solange das Licht an ist. iOS liest den Taschenlampenzustand der Kamera; Android meldet den Zustand des letzten erfolgreichen on() / off(). |
Ereignisse
| Event.CHANGE ("change") | Wird nach jedem on() und off() ausgelöst, auch wenn das Licht nicht geschaltet werden konnte. Lesen Sie mode für das Ergebnis. |
KlugTorch kaufen
Eine Jahreslizenz für eine AIR-Anwendung, mit allen Updates für 12 Monate. Nach der Zahlung erhalten Sie die Erweiterung, die ActionScript-Bibliothek und die Dokumentation per E-Mail, in der Regel innerhalb eines Werktags. Lizenz und Bedingungen
- Lizenz für eine AIR-Anwendung
- Alle Updates für 12 Monate
- Kein Support
- Lizenz für eine AIR-Anwendung
- Alle Updates für 12 Monate
- Antwort per E-Mail innerhalb von 7 Tagen
- Lizenz für eine AIR-Anwendung
- Alle Updates für 12 Monate
- Antwort per E-Mail innerhalb von 48 Stunden
Voraussetzungen
| AIR SDK | 51.x (HARMAN) |
| iOS | iOS 17 oder neuer |
| Android | Android 6.0 (API 23) oder neuer |
| Berechtigungen | Keine eigenen |
| Hardware | Ein Kameralicht neben der Rückkamera |