我有以下AS代码。我注意到如果应用程序使用webcamera,那么除非主应用程序关闭,否则任何辅助应用程序都不能使用它。
我的问题是,从以下代码1.我们可以捕获这个条件 2.如果没有检测到摄像头如何发出警报,因为它是一个AS代码
修改 文件名是cldAS.as 现在如何从any.mxml文件中调用cldAS()。一些例子将不胜感激
package org.com
{
import flash.display.Sprite;
import flash.media.*;
import flash.net.*;
public class cldAS extends Sprite
{
public function cldAS()
{
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");
//How to give an alert here
}
}
}
}
答案 0 :(得分:0)
Alert.show(“你似乎没有网络摄像头。”); 代替 跟踪(...)?
答案 1 :(得分:0)
警报仅在Flex中可用,在AS3中你应该真正实现自己的解决方案,另一方面,因为Alert是一个Javascript函数,你也可以使用ExternalInterface来调用它。
就实现您自己的解决方案而言,至少您需要一个TextField来显示您的消息,您可以通过发送一个带有消息属性的CustomEvent来提供哪个文本,该消息属性只需要一个String。创建自己的Alert类不需要太多工作。它将位于您的应用程序之上,您可以在接收CustomEvent时切换可见性并使用“关闭”按钮来隐藏它。
您应该能够在脚本标记内调用AS3类,除此之外我会给Flex专家留下更详细的答案。我不确定你是否可以将一个Sprite直接添加到Flex中,因为我记得Flex中的一个对象必须从UIComponent继承才能被添加到舞台但是请与其他人一起查看,我没有使用过Flex很长一段时间......
<mx:Script>
import org.com.cldAS;
public cld:cldAS = new cldAS();
</mx:Script>