Mar 22

接下来的例子演示了如何监听VideoDisplay中的cuePoint事件以及在监测到暗点的同时将其更新到DataGrid中。

下面是完整代码:


Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" backgroundColor="white"  viewSourceURL="srcview/index.html">
  3.     <mx:Script>
  4.         <![CDATA[
  5.             import mx.collections.ArrayCollection;
  6.             import mx.events.CuePointEvent;
  7.  
  8.             [Bindable]
  9.             private var arrColl:ArrayCollection = new ArrayCollection();
  10.  
  11.             [Bindable]
  12.             private var FLV_URL:String = "http://blog.minidx.com/ext/listening-for-a-flash-videos-cue-points-using-the-videodisplay-control/cuepoints.flv";
  13.  
  14.             private function doCuePoint(evt:CuePointEvent):void {
  15.                 var eType:String = evt.type;
  16.                 var cpName:String = evt.cuePointName;
  17.                 var cpTime:Number = evt.cuePointTime;
  18.                 var cpType:String = evt.cuePointType;
  19.  
  20.                 arrColl.addItem({type:eType, cuePointName:cpName, cuePointTime:cpTime, cuePointType:cpType});
  21.             }
  22.         ]]>
  23.     </mx:Script>
  24.  
  25.     <mx:VideoDisplay id="vid" autoPlay="true" source="{FLV_URL}" cuePoint="doCuePoint(event);" />
  26.  
  27.     <mx:DataGrid id="dataGrid" dataProvider="{arrColl}" width="400" rowCount="5">
  28.         <mx:columns>
  29.             <mx:DataGridColumn id="typeCol" dataField="type" />
  30.             <mx:DataGridColumn id="cuePointNameCol" dataField="cuePointName" />
  31.             <mx:DataGridColumn id="cuePointTimeCol" dataField="cuePointTime" textAlign="right" />
  32.             <mx:DataGridColumn id="cuePointTypeCol" dataField="cuePointType" />
  33.         </mx:columns>
  34.     </mx:DataGrid>
  35.  
  36. </mx:Application>
下面是Demo(可以右键察看源代码):

原文作者:Peter deHaan 翻译:minidxer

written by Minidxer  |  tags: , , , , , ,

Related Post

Leave a Reply