Flex的VideoDisplay控件中如何创建和使用ActionScript暗点的例子
2009-11-11 16:26
603 查看
接下来的例子中演示了Flex的VideoDisplay控件中如何创建和使用ActionScript暗点。例子中使用VideoDisplay控件显示video下载的进度,两个DataGrid控件显示ActionScript暗点和嵌入暗点。
Demo | View Source
Download: main.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.CuePointEvent;
[Bindable]
private var embeddedCuePoints:ArrayCollection = new ArrayCollection();
private function onCuePoint(evt:CuePointEvent):void {
var cuePointObject:Object = {name:evt.cuePointName, time:evt.cuePointTime, type:evt.cuePointType};
if (evt.cuePointType != "actionscript") {
embeddedCuePoints.addItem(cuePointObject);
}
}
]]>
</mx:Script>
<mx:Array id="cuePointArr">
<mx:Object name="one" time="1" type="actionscript" />
<mx:Object name="two" time="2" type="actionscript" />
</mx:Array>
<mx:VideoDisplay id="videoDisplay" cuePointManagerClass="mx.controls.videoClasses.CuePointManager" cuePoints="{cuePointArr}" cuePoint="onCuePoint(event)" source="http://www.helpexamples.com/flash/video/cuepoints.flv" playheadUpdate="progressBar.setProgress(videoDisplay.playheadTime, videoDisplay.totalTime);" />
<mx:ProgressBar id="progressBar" mode="manual" width="{videoDisplay.width}" minimum="0" maximum="{videoDisplay.totalTime}" label="{videoDisplay.state} %3%%" />
<mx:HBox>
<mx:Panel title="ActionScript cue points:">
<mx:DataGrid id="actionScriptCuePointGrid" dataProvider="{videoDisplay.cuePoints}">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name:" />
<mx:DataGridColumn dataField="time" headerText="Time:" />
<mx:DataGridColumn dataField="type" headerText="Type:" />
</mx:columns>
</mx:DataGrid>
</mx:Panel>
<mx:Panel title="Embedded cue points:">
<mx:DataGrid id="embeddedCuePointGrid" dataProvider="{embeddedCuePoints}" itemClick="videoDisplay.playheadTime = event.currentTarget.selectedItem.time;">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name:" />
<mx:DataGridColumn dataField="time" headerText="Time:" />
<mx:DataGridColumn dataField="type" headerText="Type:" />
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</mx:HBox>
</mx:Application>
由于例子中使用了两个Datagrid,在单独页面中察看效果比较不错:
Demo | View Source
Download: main.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.CuePointEvent;
[Bindable]
private var embeddedCuePoints:ArrayCollection = new ArrayCollection();
private function onCuePoint(evt:CuePointEvent):void {
var cuePointObject:Object = {name:evt.cuePointName, time:evt.cuePointTime, type:evt.cuePointType};
if (evt.cuePointType != "actionscript") {
embeddedCuePoints.addItem(cuePointObject);
}
}
]]>
</mx:Script>
<mx:Array id="cuePointArr">
<mx:Object name="one" time="1" type="actionscript" />
<mx:Object name="two" time="2" type="actionscript" />
</mx:Array>
<mx:VideoDisplay id="videoDisplay" cuePointManagerClass="mx.controls.videoClasses.CuePointManager" cuePoints="{cuePointArr}" cuePoint="onCuePoint(event)" source="http://www.helpexamples.com/flash/video/cuepoints.flv" playheadUpdate="progressBar.setProgress(videoDisplay.playheadTime, videoDisplay.totalTime);" />
<mx:ProgressBar id="progressBar" mode="manual" width="{videoDisplay.width}" minimum="0" maximum="{videoDisplay.totalTime}" label="{videoDisplay.state} %3%%" />
<mx:HBox>
<mx:Panel title="ActionScript cue points:">
<mx:DataGrid id="actionScriptCuePointGrid" dataProvider="{videoDisplay.cuePoints}">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name:" />
<mx:DataGridColumn dataField="time" headerText="Time:" />
<mx:DataGridColumn dataField="type" headerText="Type:" />
</mx:columns>
</mx:DataGrid>
</mx:Panel>
<mx:Panel title="Embedded cue points:">
<mx:DataGrid id="embeddedCuePointGrid" dataProvider="{embeddedCuePoints}" itemClick="videoDisplay.playheadTime = event.currentTarget.selectedItem.time;">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name:" />
<mx:DataGridColumn dataField="time" headerText="Time:" />
<mx:DataGridColumn dataField="type" headerText="Type:" />
</mx:columns>
</mx:DataGrid>
</mx:Panel>
</mx:HBox>
</mx:Application>
相关文章推荐
- Flex中如何通过设定headerStyleName样式在Accordion控件中使用嵌入字体的例子
- Flex中如何通过设置fontFamily样式在NumericStepper控件中使用嵌入字体的例子
- Flex中如何利用树形控件(Tree Control)和SWFLoader控件创建简单图片相册的例子
- Flex中如何通过设置fontFamily样式在ComboBox控件中使用自定义嵌入字体的例子
- Flex中如何通过设置backgroundAlpha风格来设定VideoDisplay控件的背景透明度(background alpha)的例子
- Flex中如何设定VideoDisplay控件背景颜色(background color)的例子
- Flex中如何在Panel控件的status文本中添加一个链接的例子
- Flex中如何通过监听scroll事件检测用户改变DateChooser控件选中月份的例子
- Flex的DateChooser控件中如何通过设置maxYear属性来设定允许的最大年限的例子
- Flex中如何通过设置editable属性控制NumericStepper控件可编辑/不可编辑状态的例子
- Flex中如何通过downArrowSkin和upArrowSkin样式设置NumericStepper控件的上下箭头Skin的例子
- Flex中通过设置fontFamily和labelStyleName样式在HSlider控件中使用嵌入字体的例子
- 如何在Flex 2中使用 ActionScript 2 SWF[转]
- Flex中如何利用mx:states和mx:State创建不同状态应用的例子
- Flex中如何利用iconFunction属性在ComboBox控件的下拉菜单中设定自定义图标的例子
- 【vs】如何使用visual studio2010创建按钮等控件
- Flex中如何设置TextArea控件中的无效(disabled)文本颜色的例子
- Flex中如何将HSlider控件作为DataGrid列中的一个项目的例子
- Flex中如何通过设置cornerRadius样式设定NumericStepper控件边缘棱角圆滑幅度(corner radius)的例子
- Flex中如何通过disabledColor样式设置NumericStepper控件无效时文本颜色的例子