判断VideoDisplay组件当前的播放状态。播放|缓冲。
state 属性and stateChange 事件的学习。
示例:
示例:
代码:
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/01/01/determining-a-videodisplay-controls-current-playback-state-using-the-state-property-and-statechange-event/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal"
verticalAlign="middle"
backgroundColor="white">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.VideoEvent;
[Bindable]
private var arrColl:ArrayCollection = new ArrayCollection();
private const VIDEO_URL:String = "http://www.helpexamples.com/flash/video/water.flv";
private function videoDisplay_stateChange(evt:VideoEvent):void {
/* videoDisplay.state == evt.state */
arrColl.addItem({label:videoDisplay.state});
progressBar.label = evt.state;
}
private function button_click(evt:MouseEvent):void {
/* Reset ArrayCollection object. */
arrColl = new ArrayCollection();
/* Set the Canvas container to visible. */
canvas.visible = true;
/* If video is currently playing, stop playback. */
if (videoDisplay.playing) {
videoDisplay.stop();
}
/* Set VideoDisplay control's source property and start
video playback. */
videoDisplay.source = VIDEO_URL;
videoDisplay.play();
}
private function videoDisplay_playheadUpdate(evt:VideoEvent):void {
progressBar.setProgress(evt.playheadTime, videoDisplay.totalTime);
}
]]>
</mx:Script>
<mx:ApplicationControlBar dock="true">
<mx:Button id="button"
label="load movie"
click="button_click(event);" />
</mx:ApplicationControlBar>
<mx:Canvas id="canvas" visible="false">
<mx:VideoDisplay id="videoDisplay"
playheadUpdateInterval="50"
stateChange="videoDisplay_stateChange(event);"
playheadUpdate="videoDisplay_playheadUpdate(event);" />
<mx:ProgressBar id="progressBar"
label=""
labelPlacement="center"
mode="manual"
bottom="0"
horizontalCenter="0" />
</mx:Canvas>
<mx:List id="list"
dataProvider="{arrColl}"
width="100" />
</mx:Application>
<!-- http://blog.flexexamples.com/2008/01/01/determining-a-videodisplay-controls-current-playback-state-using-the-state-property-and-statechange-event/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal"
verticalAlign="middle"
backgroundColor="white">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.events.VideoEvent;
[Bindable]
private var arrColl:ArrayCollection = new ArrayCollection();
private const VIDEO_URL:String = "http://www.helpexamples.com/flash/video/water.flv";
private function videoDisplay_stateChange(evt:VideoEvent):void {
/* videoDisplay.state == evt.state */
arrColl.addItem({label:videoDisplay.state});
progressBar.label = evt.state;
}
private function button_click(evt:MouseEvent):void {
/* Reset ArrayCollection object. */
arrColl = new ArrayCollection();
/* Set the Canvas container to visible. */
canvas.visible = true;
/* If video is currently playing, stop playback. */
if (videoDisplay.playing) {
videoDisplay.stop();
}
/* Set VideoDisplay control's source property and start
video playback. */
videoDisplay.source = VIDEO_URL;
videoDisplay.play();
}
private function videoDisplay_playheadUpdate(evt:VideoEvent):void {
progressBar.setProgress(evt.playheadTime, videoDisplay.totalTime);
}
]]>
</mx:Script>
<mx:ApplicationControlBar dock="true">
<mx:Button id="button"
label="load movie"
click="button_click(event);" />
</mx:ApplicationControlBar>
<mx:Canvas id="canvas" visible="false">
<mx:VideoDisplay id="videoDisplay"
playheadUpdateInterval="50"
stateChange="videoDisplay_stateChange(event);"
playheadUpdate="videoDisplay_playheadUpdate(event);" />
<mx:ProgressBar id="progressBar"
label=""
labelPlacement="center"
mode="manual"
bottom="0"
horizontalCenter="0" />
</mx:Canvas>
<mx:List id="list"
dataProvider="{arrColl}"
width="100" />
</mx:Application>
来自:http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex%5Fskins