2010-12-27 2 views
0

다음과 같은 이유 카메라가 내가액세스 카메라에서

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="swfobject.js"></script> 
</head> 
<body> 
<div id="test" style="display:block;"></div> 
<a href="#" onclick="document.getElementById('test').addBlock();">Call addBlock</a> 
<script type="text/javascript"> 
    swfobject.embedSWF('test.swf', 'test', '300', '300', '9.0.124', 'expressInstall.swf'); 
</script> 

<?xml version="1.0" encoding="utf-8"?> 
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="300" height="300" creationComplete="init()"> 
<mx:Script> 
    <![CDATA[ 
     import mx.controls.Alert; 
        import flash.display.InteractiveObject; 
     import flash.display.Sprite; 
     import flash.media.*; 
     import flash.net.*; 

     public static var cam:Camera = Camera.getCamera(); 
     public static var video:Video = new Video(10, 20); 
     private function init():void 
     { 
      ExternalInterface.addCallback('addBlock', addBlock); 
     } 

     private function addBlock():void 
     { 
      //Alert.show("addBlock called"); 
      if(cam != null) 
      { 
       cam.setMode(640, 480, 30); 
       video.attachCamera(cam); 
       addChild(video); 

      } 
      else 
      { 

       trace("No Camera Detected"); 
       Alert.show("No Camera Detected"); 
      } 




     } 
    ]]> 
</mx:Script> 
    </mx:Application> 
+0

Javascript 또는 SWF 파일이 전혀로드되지 않을 가능성이 있기 시작하여 여러 가지 이유가있을 수 있습니다. 먼저 문제를 파악하기 위해 디버깅이 필요합니다. Firebug 사용 –

+0

플렉스 코드에 간단한 경고를 주면 실제로 아니오. – Rajeev

+0

"카메라가 감지되지 않음"이 표시됩니까? –

답변

1

먼저 여기에 뭔가 잘못을하고 오전 div.Is에 표시되지 않는다는 것입니다 내가 플래시가 실제로 삽입되어 있는지 확인하는 것입니다. Javascript가 올바르게 작동하는 경우 여기에 몇 가지 문제가있을 수 있습니다. 우선 긍정적 아니에요하지만 난 당신이 비디오 객체에 카메라를 부착되고 싶어하지 않을 것이라고 생각하지만, 대신에 비디오 디스플레이 : 다음

<mx:VideoDisplay x="784" y="276" width="0" height="0" id="video"/> 

그리고 수행

video.addChild(cam); 

두 번째로 Mac을 사용하는 경우 표준 getCamera() 함수가 100 % 작동하지 않습니다.

private function getCamera():Camera{ 
    var camera:Camera; 
    var index:int = 0; 
    for (var i:int = 0; i < Camera.names.length; i++) { 
     trace(Camera.names[i]); 
     if (Camera.names[i] == "USB Video Class Video") { // for macs camera 
       index = i; 
     } 
    } 
    camera = Camera.getCamera(String(index)); 
    if (camera == null) { 
     return null; 
    } 
    else { 
     return camera; 
    } 
} 

는 기본적으로 몇 가지 맥이 표준에 getCamera 호출이 작동하지 않는 경우 이상한 장소에 위치하고 기본 카메라를 가지고 : 내가 이런 식으로 뭔가를 검색해야하는 자신의 가져 오기 카메라 기능을 정의 당신이되어 추천 . 이게 도움이 될거야. 행운을 빕니다!

+0

video.addChild (cam); 오류가 발생했습니다. 설명 \t 리소스 \t 경로 \t 위치 \t 유형 1061 : 정적 유형 flash.media:Video를 사용하여 참조를 통해 addChild를 호출 할 수 있습니다. \t test.mxml \t/test/src \t 라인 28 \t 플렉스 문제 – Rajeev

+0

그래, 그 이유는 addChild 메소드가 videoDisplay 대신 비디오 객체에서 호출 되었기 때문인 것 같습니다. 적어도 내가 말할 수있는 한 ... – dshipper

관련 문제