2

Another question about the application I'm making. So when the user signs up, he needs to take a picture. I want to do this without using the cameraUI. I followed a sort of tutorial but the application doesn't run. I don't get errors, but the camera doesn't show. Here is what I did:

    <?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        xmlns:mx="library://ns.adobe.com/flex/mx"
        activate="view1_activateHandler(event)"
        title="Camera Test">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>


    <fx:Script>
        <![CDATA[
            import mx.core.UIComponent;

            import spark.components.Image;
            import spark.components.VideoDisplay;
            import spark.components.ViewNavigator;

            private var cam:Camera;
            private var video:Video;
            private var uic:UIComponent;

            protected function cameraButton_clickHandler(event:MouseEvent):void
            {
                if(!cam){
                    trace("whut");
                    cameragroup.removeAllElements();
                    this.cam=Camera.getCamera();
                    cam.setQuality(0,100);

                    cam.setMode(cameragroup.width, cameragroup.height, 30, false);
                    if(cam){
                        trace("camera added");
                        this.video=new Video(cameragroup.width, cameragroup.height);

                        video.attachCamera(cam);

                        this.uic=new UIComponent();
                        uic.addChild(video);

                        var m:Matrix=new Matrix();
                        m.rotate(Math.PI/2);
                        video.transform.matrix=m;

                        var m2:Matrix = new Matrix();
                        m2.translate((video.width+cameragroup.width/4)-this.frame.x, 5);
                        uic.transform.matrix=m2;

                        cameragroup.addElement(uic);
                        cameraButton.label="shoot";
                    }
                }
            }

            protected function view1_activateHandler(event:Event):void
            {
                this.cameraButton.label="shoot";
            }

        ]]>
    </fx:Script>

    <s:VGroup width="100%" height="100%" horizontalAlign="center" paddingBottom="30" paddingLeft="10" paddingRight="10" paddingTop="30">
        <s:Group id="frame" width="100%" height="100%">
            <s:Rect width="100%" height="100%">
                <s:fill>
                    <s:SolidColor color="0x000000" alpha="0.2"/>
                </s:fill>
            </s:Rect>
            <s:Group id="cameragroup" width="210" height="220"/>
        </s:Group>

        <s:Spacer height="100%"/>
        <s:HGroup width="100%" horizontalAlign="center">
            <s:Button id="cameraButton" width="50%" height="80" label="start" click="cameraButton_clickHandler(event)"/>
        </s:HGroup>
    </s:VGroup>
</s:View>

This is the complete .mxml file. And I overlooked the code line by line but didn't found anything wrong.

Grtz

Timon Devos
  • 443
  • 1
  • 6
  • 18
  • permissions? (at least 15 characters) – shaunhusain Jan 19 '12 at 00:59
  • 2
    In your MyAWESOME-app.xml – shaunhusain Jan 19 '12 at 01:00
  • THANK YOU! I Have Spent All Night Searching! – Timon Devos Jan 19 '12 at 06:58
  • 2
    :) no problem happened to be testing some other Flex mobile issue based on another SO question, I figured since you said you examined your code line by line it had to be something outside the file you were looking at. How often have I said to you that when you have eliminated the impossible, whatever remains, however improbable, must be the truth? -Arthur Conan Doyle "Sherlock Holmes" – shaunhusain Jan 19 '12 at 18:42

1 Answers1

0

In your Application-app.xml

Ensure the following is there.

<uses-permission android:name="string" />

in our case:

<uses-permission android:name="android.permission.CAMERA"/>

This is explained in more detail here: http://developer.android.com/guide/topics/manifest/uses-permission-element.html

ShaunOReilly
  • 2,186
  • 22
  • 34