`
#天琪#
  • 浏览: 155676 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

如何创建简单的Flex模块(module)的例子

    博客分类:
  • FLEX
阅读更多
转自:http://blog.minidx.com/2008/07/14/1078.html

主程序:
<?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.events.VideoEvent;
 
            [Bindable]
            private var moduleTitle:String;
 
            private var vm:VideoModule;
 
            private function init():void {
                vm = VideoModule(m1.child);
                moduleTitle = vm.getModuleTitle();
            }
 
            private function stopVideo():void {
                vm.stopVideo();
            }
 
            private function playPauseVideo():void {
                vm.playPauseVideo();
            }
        ]]>
    </mx:Script>
 
    <mx:Panel id="panel"
            title="Module: {moduleTitle}">
        <mx:ModuleLoader id="m1"
                url="VideoModule.swf"
                ready="init();"/>
        <mx:ControlBar>
            <mx:Button label="Play/Pause" click="playPauseVideo()" />
            <mx:Button label="Stop" click="stopVideo()" />
            <mx:Spacer width="100%" />
            <mx:Label id="playheadTime" fontWeight="bold" />
        </mx:ControlBar>
    </mx:Panel>
 
</mx:Application>


模块:VideoModule.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml"
        width="100%"
        height="100%">
 
    <mx:Script>
        <![CDATA[
            public function getModuleTitle():String {
                return "Video Module";
            }
 
            /* Stop the video playback. */
            public function stopVideo():void {
                videoDisplay.stop();
            }
 
            /* If the video is currently playing, pause playback. Otherwise, resume playback. */
            public function playPauseVideo():void {
                if (videoDisplay.playing) {
                    videoDisplay.pause();
                } else {
                    videoDisplay.play();
                }
            }
 
            private function updateVideoTime():void {
                /* If the playheadTime is 0, the DateFormatter returns an empty string.
                   To work around this we can default the time to 10ms if the playheadTime
                   is zero. */
                var pTime:Date = new Date(videoDisplay.playheadTime * 1000 || 10);
                var tTime:Date = new Date(videoDisplay.totalTime * 1000);
                parentApplication.playheadTime.text = dateFormatter.format(pTime) + " / " + dateFormatter.format(tTime);
            }
        ]]>
    </mx:Script>
 
    <mx:DateFormatter id="dateFormatter"
            formatString="NN:SS" />
 
    <mx:VideoDisplay id="videoDisplay"
            source="http://www.helpexamples.com/flash/video/cuepoints.flv"
            playheadUpdate="updateVideoTime();" />
</mx:Module>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics