Översikt
En kameraapp behöver ofta ljus: en övervakningskamera i ett mörkt rum, en skanner, ett videosamtal på natten. KlugTorch tänder och släcker kameralampan (LED:en bredvid bakkameran) medan kameran fortsätter att köra.
KlugTorch identifierar först om enheten över huvud taget har en kameralampa. Många surfplattor och vissa telefoner saknar en, så att en app helt enkelt kan dölja sin lampknapp där.
Det fungerar vid sidan av en pågående kameraström. KlugTorch öppnar ingen egen kamera och konkurrerar därför aldrig med strömmen om kameran.
Appar som streamar med KlugMedia kan också använda dess inbyggda lampkontroll. KlugTorch används dagligen i våra appar, vårt proof of concept.
Funktioner
- Fristående: ett ANE, inget kärnbibliotek eller beroende-ANE:er att lägga till
- Identifierar om enheten har kameralampa
- Tänd och släck kameralampan med ett enda anrop
- Fungerar medan kameran streamar på iOS, utan avbrott
- Läser lampans aktuella tillstånd
- En ändringshändelse efter varje växling, även när den misslyckas
- Ett API för iOS och Android
Plattformar som stöds
På enheter utan kameralampa, och på andra plattformar, returnerar isSupported false, så att samma kod kan ligga kvar i alla appar.
Kom igång
Lägg till tillägget i din applikationsbeskrivning (application descriptor):
<extensions>
<extensionID>com.klug.torch.Torch</extensionID>
</extensions>
Lampan sitter bredvid bakkameran, så bakkameran bör vara den aktiva.
Kodexempel
Tre kompletta flöden. on() och off() returnerar direkt; en ändringshändelse följer efter varje anrop, och mode talar om resultatet. Fullständig 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-översikt
| Torch.getInstance() | Returnerar den enda instansen. |
| isSupported | True bara om enheten har en användbar kameralampa: på iOS har standardkameran (bakre) en lampa, på Android 6+ har en bakåtvänd kamera blixt. |
| on() | Tänder kameralampan; en ändringshändelse följer. |
| off() | Släcker kameralampan; en ändringshändelse följer. |
| mode | True medan lampan är tänd. iOS läser kamerans lampstatus; Android rapporterar tillståndet efter det senaste lyckade on() / off(). |
Händelser
| Event.CHANGE ("change") | Skickas efter varje on() och off(), även när lampan inte kunde växlas. Läs mode för resultatet. |
Köp KlugTorch
En årslicens för en AIR-applikation, med alla uppdateringar i 12 månader. Efter betalning får du tillägget, ActionScript-biblioteket och dokumentationen via e-post, vanligtvis inom en arbetsdag. Licens och villkor
- Licens för en AIR-applikation
- Alla uppdateringar i 12 månader
- Ingen support
- Licens för en AIR-applikation
- Alla uppdateringar i 12 månader
- Svar via e-post inom 7 dagar
- Licens för en AIR-applikation
- Alla uppdateringar i 12 månader
- Svar via e-post inom 48 timmar
Krav
| AIR SDK | 51.x (HARMAN) |
| iOS | iOS 17 eller senare |
| Android | Android 6.0 (API 23) eller senare |
| Behörigheter | Inga egna |
| Hårdvara | En kameralampa bredvid bakkameran |