0

次の AS コードがあります。アプリケーションが Web カメラを使用している場合、プライマリ アプリケーションが閉じられない限り、セカンダリ アプリケーションでは使用できないことに気付きました。

私の質問は、次のコードから 1.その状態をキャプチャできますか 2.カメラが検出されない場合、AS コードであるためアラートを出す方法

編集: ファイル名は cldAS.as 今任意の.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 

        }
    }                   

}
  }
4

2 に答える 2

0

Alert は Flex でのみ使用できます。AS3 では、実際には独自のソリューションを実装する必要があります。一方、Alert は Javascript 関数であるため、ExternalInterface を使用して呼び出すこともできます。

独自のソリューションの実装に関する限り、メッセージを表示するには、少なくとも TextField が必要です。このテキストは、単純に文字列を取るメッセージ プロパティを含む CustomEvent を送信することで提供できます。独自の Alert クラスを作成するのにそれほど多くの作業は必要ありません。それは App の上にあり、 CustomEvent を受け取ったときに可視性を切り替え、それを非表示にする [閉じる] ボタンを持つことができます。


script tags 内で AS3 クラスを呼び出すことができるはずです。それ以外は、より詳細な回答を Flex の専門家に任せます。Sprite を Flex に直接追加できるかどうかはわかりません。Flex のオブジェクトは、ステージに追加するために UIComponent から継承する必要があることを覚えていますが、ここで他の人に確認してください。Flex を使用したことはありませんかなり長い間...

<mx:Script>
   import org.com.cldAS;

   public cld:cldAS = new cldAS();
</mx:Script>
于 2010-12-24T08:28:22.343 に答える
0

Alert.show("ウェブカメラを持っていないようです。"); trace(...) の代わりに ?

于 2010-12-24T07:39:19.197 に答える