Flex中如何监测摄像头Camera对象活动以及状态事件与信息的例子

By Minidxer | March 5, 2009

接下来的例子演示了Flex中如何监测摄像头Camera对象活动以及状态事件与信息。※看本例需要您的电脑中装有摄像头

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="horizontal"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.  
  7.     <mx:Script>
  8.         <![CDATA[
  9.             import mx.controls.Alert;
  10.             import mx.utils.StringUtil;
  11.  
  12.             private function videoDisplay_creationComplete():void {
  13.                 var camera:Camera = Camera.getCamera();
  14.                 if (camera) {
  15.                     videoDisplay.attachCamera(camera);
  16.                     camera.addEventListener(ActivityEvent.ACTIVITY, camera_activity);
  17.                     camera.addEventListener(StatusEvent.STATUS, camera_status);
  18.                 } else {
  19.                     Alert.show("You don't seem to have a camera.");
  20.                 }
  21.             }
  22.  
  23.             private function camera_activity(evt:ActivityEvent):void {
  24.                 var str:String = "[{0}] activating:{1}\n";
  25.                 textArea.text += StringUtil.substitute(str,
  26.                                     evt.type,
  27.                                     evt.activating);
  28.             }
  29.  
  30.             private function camera_status(evt:StatusEvent):void {
  31.                 var str:String = "[{0}] code:'{1}', level:'{2}'\n";
  32.                 textArea.text += StringUtil.substitute(str,
  33.                                     evt.type,
  34.                                     evt.code,
  35.                                     evt.level);
  36.                 switch (evt.code) {
  37.                     case "Camera.Muted":
  38.                         Alert.show("User denied access to camera.");
  39.                         break;
  40.                     case "Camera.Unmuted":
  41.                         Alert.show("User allowed access to camera.");
  42.                         break;
  43.                 }
  44.             }
  45.         ]]>
  46.     </mx:Script>
  47.  
  48.     <mx:VideoDisplay id="videoDisplay"
  49.             creationComplete="videoDisplay_creationComplete();"
  50.             width="160"
  51.             height="120" />
  52.  
  53.     <mx:TextArea id="textArea"
  54.             editable="false"
  55.             width="100%"
  56.             height="{videoDisplay.height}"
  57.             wordWrap="false"
  58.             verticalScrollPolicy="on" />
  59.  
  60. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: VideoDisplay | 2 Comments » | 1,292 views Tags: , , , , ,

你可能还对下列文章感兴趣:

2 comments | Add One

  1. 刚 - 03/5/2009 at 11:28 pm

    为什么点拒绝没有任何反应呢?

  2. 刘海龙 - 12/5/2009 at 10:09 am

    为什么没有反应。没有连到摄像头。。我的摄像头没有问题。。可就是没反应。。请问是怎么回事啊
    QQ274747948
    EMAIL:l_hc88@126.com

Leave a Comment

Name(*):

E-Mail(*) :

Website :

Comments :

Search Posts