← Alle udvidelser

Native udvidelse

KlugTorch

com.klug.torch.Torch

INGEN APM NØDVENDIG. Download og nyd. Det bliver ikke enklere.

Registrerer, om en enhed har et kameralys, og tænder og slukker det. På iOS virker dette også, mens kameraet streamer, uden at afbryde streamen.

iOSAndroid I produktion Fra €19 / år · Køb

Oversigt

En kameraapp har ofte brug for lys: et overvågningskamera i et mørkt rum, en scanner, et videoopkald om natten. KlugTorch tænder og slukker kameralyset (LED'en ved siden af bagkameraet), mens kameraet bliver ved med at køre.

KlugTorch registrerer først, om enheden overhovedet har et kameralys. Mange tablets og nogle telefoner har intet, så en app kan blot skjule sin lysknap dér.

Den virker side om side med en live kamerastream. KlugTorch åbner ikke et kamera af sig selv, så den konkurrerer aldrig med streamen om kameraet.

Apps, der streamer med KlugMedia, kan også bruge dens indbyggede lommelygtestyring. KlugTorch er i daglig brug i vores apps, vores proof of concept.

Funktioner

  • Selvstændig: én ANE, intet kernebibliotek eller afhængige ANE'er at tilføje
  • Registrerer, om enheden har et kameralys
  • Tænd og sluk kameralyset med ét kald
  • Virker, mens kameraet streamer på iOS, uden afbrydelse
  • Læser lysets aktuelle tilstand
  • En change-hændelse efter hvert skift, også når det mislykkes
  • Én API til iOS og Android

Understøttede platforme

iOS arm64
Android arm64 · armv7

På enheder uden kameralys og på andre platforme returnerer isSupported false, så den samme kode kan blive i enhver app.

Kom i gang

Tilføj udvidelsen til din applikationsdescriptor:

app.xml
<extensions>
    <extensionID>com.klug.torch.Torch</extensionID>
</extensions>

Lyset sidder ved siden af bagkameraet, så bagkameraet bør være det aktive.

Kodeeksempler

Tre komplette flows. on() og off() vender straks tilbage; en change-hændelse følger efter hvert kald, og mode fortæller dig resultatet. Fuld dokumentation →

1 · Vis kun lysknappen, hvor der er et lys
Setup.as
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
2 · Skift lyset og følg resultatet
Light.as
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
}
På Android skifter systemet ikke lyset, mens en anden del af appen holder kameraet åbent, f.eks. en stream fra AIR's flash.media.Camera. on() ender så med en change-hændelse, og mode forbliver false. Apps, der streamer med KlugMedia, bruger i stedet dens setTorch().
3 · Sluk lyset, når kameraet stopper
Stream.as
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-oversigt

Torch.getInstance()Returnerer den enkelte instans.
isSupportedSand kun hvis enheden har et brugbart kameralys: på iOS har standardkameraet (bag) en lommelygte, på Android 6+ har et bagudvendt kamera en flash.
on()Tænder kameralyset; en change-hændelse følger.
off()Slukker kameralyset; en change-hændelse følger.
modeSand, mens lyset er tændt. iOS læser kameraets lommelygtetilstand; Android rapporterer tilstanden fra det seneste vellykkede on() / off().

Events

Event.CHANGE ("change")Udsendes efter hvert on() og off(), også når lyset ikke kunne skiftes. Læs mode for resultatet.

Køb KlugTorch

En årlig licens til én AIR-applikation, med alle opdateringer i 12 måneder. Efter betaling modtager du udvidelsen, ActionScript-biblioteket og dokumentationen pr. e-mail, normalt inden for én hverdag. Licens og vilkår

Enkel
€19 / år
  • Licens til én AIR-applikation
  • Alle opdateringer i 12 måneder
  • Ingen support
Køb Enkel
Standard
€149 / år
  • Licens til én AIR-applikation
  • Alle opdateringer i 12 måneder
  • Svar pr. e-mail inden for 7 dage
Køb Standard
Prioritet
€299 / år
  • Licens til én AIR-applikation
  • Alle opdateringer i 12 måneder
  • Svar pr. e-mail inden for 48 timer
Køb Prioritet
Moms og afgifter beregnes ved checkout af Link (Stripe). Du angiver application ID'et for din AIR-app under checkout.

Krav

AIR SDK51.x (HARMAN)
iOSiOS 17 eller nyere
AndroidAndroid 6.0 (API 23) eller nyere
TilladelserIngen egne
HardwareEt kameralys ved siden af bagkameraet