判断VideoDisplay组件当前的播放状态。播放|缓冲。

转自:http://www.cnblogs.com/xxcainiao/archive/2008/04/25/1171489.html

<?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>

你可能感兴趣的:(html,xml,Blog,Flash)