2012-12-21 79 views
0

我正在嘗試使用以下代碼在Android設備上使用前置攝像頭。權限設置正確,但它似乎不會工作。當我刪除CameraPosition.Front from getCamera它訪問設備標準相機罰款。有什麼建議麼 ?AIR AS3 Android前置攝像頭

var cam:Camera = Camera.getCamera(CameraPosition.FRONT); 
var vid:Video = new Video(); 
vid.attachCamera(cam); 
addChild(vid); 
if (cam != null) 
{ 
    cam.addEventListener(StatusEvent.STATUS, statusHandler); 
    vid = new Video(); 
    vid.attachCamera(cam); 
} 
function statusHandler(event:StatusEvent):void 
{ 
    if (!cam.muted) 
    { 
     vid.width = cam.width; 
     vid.height = cam.height; 
     addChild(vid); 

    } 
    cam.removeEventListener(StatusEvent.STATUS, statusHandler); 
} 

回答

3

這不是如何引用相機。使用Camera類實例的position參數確定攝像頭的位置。

一個例子:

var frontCamera:Camera = tryGetFrontCamera(); 
if (!frontCamera) { 
    //Front facing camera unavailable 
} 

...

public function tryGetFrontCamera():Camera { 
    var numCameras:uint = (Camera.isSupported) ? Camera.names.length : 0; 
    for (var i:uint = 0; i < numCameras; i++) { 
     var cam = Camera.getCamera(String(i)); 
     if (cam && cam.position == CameraPosition.FRONT) { 
      return cam; 
     } 
    } 
    return null; 
} 

Documentation