2010-12-27 4 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に表示されないことは何かI Flashが実際に埋め込まれていることを確認することです。 Javascriptが正しく動作している場合は、ここでいくつかの問題が考えられます。まず、私は肯定的ではないが、私はあなたがビデオオブジェクトにカメラを取り付けることを望んでいないだろうと思いますが、代わりにビデオディスプレイになります

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

そして実行します。

video.addChild(cam); 

もう1つは、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; 
    } 
} 

は、基本的には、いくつかのMacには標準getCameraコールが動作しないところ奇妙な場所に位置してデフォルトのカメラを持っている:私は次のようになります。これは、独自のgetカメラ機能を定義するあなたがされて推薦します。これは助けになるはずです。がんばろう!

+0

video.addChild(cam);エラーが発生しました 説明\tリソース\tパス\t場所\tタイプ 1061:静的型flash.media:Videoの参照を使用して、おそらく未定義のメソッドaddChildを呼び出します。 \t test.mxml \t/test/src \t line 28 \tフレックス問題 – Rajeev

+0

はい、それはあなたのaddChildメソッドがvideoDisplayではなくビデオオブジェクトで呼び出されているようです。少なくとも私が知る限りでは... – dshipper

関連する問題