2012-01-19 75 views
2

關於我正在製作的應用程序的另一個問題。所以當用戶註冊時,他需要拍照。我想在不使用cameraUI的情況下做到這一點。我跟着一種教程,但應用程序不運行。我沒有收到錯誤,但相機沒有顯示。這是我做的:Flex使用沒有攝像頭的攝像頭UI

<?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> 

這是完整的.mxml文件。我忽略了一行一行的代碼,但沒有發現任何錯誤。

Grtz

+0

權限:

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

這在這裏更詳細的解釋? (至少15個字符) – shaunhusain 2012-01-19 00:59:22

+2

在您的MyAWESOME-app.xml中 \t \t \t <! - <使用權限android:name =「android.permission.CAMERA」/> - > – shaunhusain 2012-01-19 01:00:07

+0

謝謝!我花了整晚搜索! – 2012-01-19 06:58:18

回答