在下面的代码中我没有任何错误,但为什么是addchild(视频);即,不显示网络摄像头拍摄的视频
<?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 >
figurew.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;
}
}
}
答案 0 :(得分:0)
我看不到您设置主应用程序的视频子项的高度或宽度的位置。这可能是一个问题。
脚本标记内有MX Button标记。我怀疑这会导致编译错误。因此,您可能正在查看代码的“旧”版本。修复错误并重新编译并重新启动。