AS3: Webcam-Zugriff verweigern

Wer im Auswahl-Dialog den Zugriff auf die Webcam verweigert, bekommt ein StatusEvent mit dem Code “Camera.muted”:

Konstanten dafür habe ich übrigens nicht gefunden, da bin ich für jeden Hinweis dankbar.

Achtung: Ist der Zugriff einmal abgewiesen worden, wird der Dialog nicht erneut angezeigt! Das muss man sich also selber merken, damit man im zweiten Versuch kein Camera-Objekt ohne Bild hat 🙂

AS3: CamelCase an beliebigen Trennzeichen

Tag,

wer ein einzelnes Wort camelCasen möchte, kann dies zum Beispiel so tun:

Der zweite Parameter ist hilfreich, wenn man einen String an beliebigen Trennzeichen camelCasen möchte – etwa einen Namen an Leerzeichen und Bindestrichen:

Aufruf dann z.B. so:

HTH

Actionscript: Einen Dialog zur Webcam-Auswahl anzeigen

Die “Auswahl” der angeschlossenen Webcam, bzw. die Erkennung, ob eine Webcam angeschlossen ist, is’ immer so ‘ne Sache. Es gibt wilde Skripte mit Schleifen über Camera.names, mit Unterscheidung des Betriebssystems, mit Prüfung auf “USB Video Class Video”. Sieht alles irgendwie nicht generisch aus.
Was ich gerade gefunden habe, klingt dagegen ganz gut:

To display the Flash Player Camera Settings panel, which lets the user choose the camera to be referenced by getCamera(), use Security.showSettings(SecurityPanel.CAMERA)

Das Ganze sieht dann aus wie oben.

Effizienter Zugriff auf Singletons

Häufig sieht der Zugriff auf Singletons so aus:

Effizienter finde ich aber

Siehe Bild. getInstance() ist dabei “internal static”

PS: “internal” ist vielleicht nicht nötig, aber “protected” ging irgendwann mal nicht, deswegen… sicher ist sicher^^

Flash (Debug) Player lässt Firefox abstürzen

…und zwar in Version 3.6.x und 4.0, mindestens. Extrem nervig, das.

Nun hört man (Danke, Harald), dass man in der about:config folgende Zeilen

ändern soll zu

Ich ergänze: Wenn es die erste Zeile nicht gibt, dann kann man sie manuell hinzufügen, als Boolean mit “false”.

AS3/E4X: Rekursiv alle Unterknoten mit einem Attribut finden

Nerd-Porn:

Liefert das Attribut “myAttribute” des Unterknotens (nicht begrenzt auf direkte Kind-Knoten), dessen Attribut myID gleich “abc” ist. Man beachte: Den doppelten Punkt hinter “xml”, sowie den Sternchen-Selektor. Quelle, man beachte dort auch die unten verlinkten weiterführenden Artikel.

UPDATE: Eine Struktur wie die Folgende

kann man so durchsuchen:

text:

slide.text:

Flashplayer 11, Molehill, Flare3D 2.0 in FDT 4.2

Tag,

wer die Flare3D 2.0-Beispiele* in FDT 4.2 ausprobieren möchte, dem sei der folgende Artikel an’s Herz gelegt: How to get started with the Molehill API and Away3D. OK, ist nicht für Flare3D, aber trotzdem hilfreich. Besonders wichtig:

  • Als Compiler-Argument “-swf-version=13” hinzufügen, sonst gibt’s Runtime-Fehler
  • Das dort verlinkte SDK hat keine flex.swc in frameworks/libs, was mein FDT gar nicht mochte. Aber es funktioniert mit der swc aus dem 4.1er SDK^^ Einfach rüberkopieren
  • Die flashplayer_inc_playerglobal_022711.swc kann zwar auch in einem externen Verzeichnis eingebunden sein, für FDT muss diese nicht, wie beschrieben, die originale playerglobal ersetzen. Dann kompiliert er aber leider nicht 🙂 Fehlermeldung:

Inkonsistente Verknüpfung in /xy/abc/flashplayer_inc_playerglobal_022711.swc(flash.net.drm:AddToDeviceGroupSetting, flash.net.drm:AuthenticationMethod, flash.net.drm:LoadVoucherSetting). ‘flash.net.drm:LoadVoucherSetting’ ist als extern markiert, ‘flash.net.drm:AddToDeviceGroupSetting’ aber nicht.

bzw auf Englisch:

Inconsistant linkage in /xy/abc/flashplayer_inc_playerglobal_022711.swc(flas h.net.drm:AddToDeviceGroupSetting, flash.net.drm:AuthenticationMethod, flash.net.drm:LoadVoucherSetting) – ‘flash.net.drm:LoadVoucherSetting’ is marked as extern, but ‘flash.net.drm:AddToDeviceGroupSetting’ is not.

Also doch die vorhandene playerglobal in framework/libs/player/10.2/ ersetzen. Man liest vereinzelt auch davon, dass man einen neuen Ordner “11” in frameworks/libs/player anlegen kann, das habe ich aber nicht probiert.

HTH,

Lennart

*Warum kein Away3D? Ich habe keines der beiden Frameworks bisher ausprobiert, aber hier klang Flare3D irgendwie cooler 😉