0

次のコードでは、エラーはありませんが、なぜaddchild(video); つまり、Web カメラでキャプチャされたビデオは表示されません。

 <?xml version="1.0" encoding="utf-8"?>
 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">


<mx:Script>
<![CDATA[
import org.com.figurew;
import mx.controls.Button;
import mx.controls.Alert;
import flash.display.InteractiveObject;
import flash.display.Sprite;
import flash.media.*;
import flash.net.*;


public function addBody():void
{

var ret:Number = figurew.getInstance().getparam();
if( ret == 1)
{
 Alert.show("Camera detected");

}
if(ret == 0)
{
 Alert.show("No camera detected");
} 
var cam:Camera =  Camera.getCamera();
if(cam != null)
{ 
 cam.setMode(640, 480, 30);
 var video:Video = new Video(30, 40);
 video.attachCamera(cam);

 addChild(video);


}
else
{

 trace("No Camera Detected");

 }

}


  ]]>

 </mx:Script>
 <mx:Button label="Test camera" click="addBody();"  x="99" y="116"/>

 </mx:Application >

フィギュアw.as

 package org.com
 {
 import flash.display.InteractiveObject;
 import flash.display.Sprite;
 import flash.media.*;
 import flash.net.*;


 public class figurew extends Sprite
 {
  public function figurew()
  {
 //getparam();
 var cam:Camera =  Camera.getCamera();
 if(cam != null)
 { 
  cam.setMode(640, 480, 30);
  var video:Video = new Video(300, 450);
  video.attachCamera(cam);

  addChild(video);


 }
else
{

 trace("No Camera Detected");

}

}
public function getparam():Number
{ 
 var cam:Camera =  Camera.getCamera();
 if(cam != null)
 { 
 cam.setMode(640, 480, 30);
 var video:Video = new Video(300, 450);
 video.attachCamera(cam);

 addChild(video);
 return 1;

 }
 else
 {
 return 0;
 trace("No Camera Detected");

 }
  }
 private static var _instance:figurew = null;

 public static function getInstance():cldAS
 {
 if(_instance == null)
 {
 trace("No instance found");
 _instance = new cldAS();
 }
 return _instance;

 } 
 }
 }
4

1 に答える 1

0

メイン アプリケーションのビデオの子の高さや幅を設定する場所がわかりません。それは問題かもしれません。

script タグ内に MX Button タグがあります。これにより、コンパイルエラーが発生すると思われます。そのため、コードの「古い」バージョンを表示している可能性があります。エラーを修正し、再コンパイルして再起動します。

于 2010-12-24T13:39:14.843 に答える