Flash Flex 4 spark视频播放器如何从当前时间播放

Flash Flex 4 spark视频播放器如何从当前时间播放,flash,apache-flex,adobe,flexbuilder,flex-spark,Flash,Apache Flex,Adobe,Flexbuilder,Flex Spark,共有4个视频源,用户可以在其中切换,视频进度相同 我如何实现这一点? 函数seek(时间:持续时间):void实际上不起作用:-( 我使用的代码: <?xml version="1.0" encoding="utf-8"?> 以下是我的解决方案: 在您的设计中有四个文件可以切换。每个切换在一个新的源文件中跳转到时间 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http:/

共有4个视频源,用户可以在其中切换,视频进度相同

我如何实现这一点? 函数
seek(时间:持续时间):void
实际上不起作用:-(

我使用的代码:

<?xml version="1.0" encoding="utf-8"?>


以下是我的解决方案:

在您的设计中有四个文件可以切换。每个切换在一个新的源文件中跳转到时间

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
               creationComplete="createHandler();">
    <s:layout>
        <s:BasicLayout/>
    </s:layout>

    <fx:Script>
        <![CDATA[
            import flash.events.TimerEvent; //very important
            import flash.utils.Timer; //very important

            import flashx.textLayout.events.UpdateCompleteEvent;

            import mx.events.VideoEvent;

            import org.osmf.events.MediaElementEvent;
            import org.osmf.events.MediaPlayerStateChangeEvent;
            import org.osmf.media.MediaPlayer;
            import org.osmf.media.MediaPlayerState;


            private var time:Number=0;
            private var changed:Boolean = false;

            protected function normal_clickHandler(event:MouseEvent):void
            {
                ini();
                Text.text = "current Tume: "+time
                vid.source="1.flv"
            }
            protected function ini():void{
                if(vid.currentTime>0){
                    time = Math.round(vid.currentTime);
                    changed = true;
                    timer.reset();
                    timer.start();
                }
            }
            protected function nurhoer_clickHandler(event:MouseEvent):void
            {
                ini();
                vid.source="2.flv"
                Text.text = "current Tume: "+time;
            }


            protected function schwerh_clickHandler(event:MouseEvent):void
            {
                ini();
                Text.text = "current Tume: "+time;
                vid.source="3.flv"
            }

            protected function schwerhmH_clickHandler(event:MouseEvent):void
            {
                ini();
                Text.text = "current Tume: "+time;
                vid.source="4.flv"
            }
            protected var timer:flash.utils.Timer = new Timer(200,2);   
            private function createHandler():void
            {
                try{
                    timer.addEventListener(flash.events.TimerEvent.TIMER, repeat);
                    timer.addEventListener(flash.events.TimerEvent.TIMER_COMPLETE, repeat);
                    //console.text = "Events are loaded2!";
                }catch(exep){}
            }
            source="{source}" />
            private function repeat(event:flash.events.TimerEvent):void{
                if(!vid.playing){   
                try{

                        if(changed && Math.round(vid.currentTime)!= Math.round(time)){
//                          console.text = console.text +"\n"+"try to seek to: "+time;
                            vid.seek(time);
                            changed=false;
                        }else {
                            timer.reset();
                            timer.stop();
                            vid.play();
                        }
                    }catch (ex){}

                }
            }





        ]]>
    </fx:Script>

0){
时间=数学循环(参见当前时间);
更改=正确;
timer.reset();
timer.start();
}
}
受保护的函数nurhoer\u clickHandler(事件:MouseeEvent):无效
{
ini();
vid.source=“2.flv”
Text.Text=“当前Tume:+时间;
}
受保护函数schwerh_clickHandler(事件:MouseeEvent):无效
{
ini();
Text.Text=“当前Tume:+时间;
vid.source=“3.flv”
}
受保护函数schwerhmH_clickHandler(事件:MouseeEvent):无效
{
ini();
Text.Text=“当前Tume:+时间;
vid.source=“4.flv”
}
受保护的var定时器:flash.utils.timer=新定时器(200,2);
私有函数createHandler():void
{
试一试{
timer.addEventListener(flash.events.TimerEvent.timer,repeat);
timer.addEventListener(flash.events.TimerEvent.timer_完成,重复);
//console.text=“事件已加载2!”;
}捕获(exep){}
}
source=“{source}”/>
私有函数重复(事件:flash.events.TimerEvent):无效{
如果(!vid.playing){
试一试{
if(已更改和数学圆整(vid.currentTime)!=Math.round(time)){
//console.text=console.text+“\n”+”尝试寻找:“+时间;
视频搜索(时间);
更改=错误;
}否则{
timer.reset();
timer.stop();
视频播放();
}
}捕获(ex){}
}
}
]]>

谢谢你的克制。

你是如何推理
VideoPlr.duration*time/100
来获得搜索时间的?这是我找到的一个例子,但它不起作用。如果你有其他的广告请。张贴它。谢谢
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
               creationComplete="createHandler();">
    <s:layout>
        <s:BasicLayout/>
    </s:layout>

    <fx:Script>
        <![CDATA[
            import flash.events.TimerEvent; //very important
            import flash.utils.Timer; //very important

            import flashx.textLayout.events.UpdateCompleteEvent;

            import mx.events.VideoEvent;

            import org.osmf.events.MediaElementEvent;
            import org.osmf.events.MediaPlayerStateChangeEvent;
            import org.osmf.media.MediaPlayer;
            import org.osmf.media.MediaPlayerState;


            private var time:Number=0;
            private var changed:Boolean = false;

            protected function normal_clickHandler(event:MouseEvent):void
            {
                ini();
                Text.text = "current Tume: "+time
                vid.source="1.flv"
            }
            protected function ini():void{
                if(vid.currentTime>0){
                    time = Math.round(vid.currentTime);
                    changed = true;
                    timer.reset();
                    timer.start();
                }
            }
            protected function nurhoer_clickHandler(event:MouseEvent):void
            {
                ini();
                vid.source="2.flv"
                Text.text = "current Tume: "+time;
            }


            protected function schwerh_clickHandler(event:MouseEvent):void
            {
                ini();
                Text.text = "current Tume: "+time;
                vid.source="3.flv"
            }

            protected function schwerhmH_clickHandler(event:MouseEvent):void
            {
                ini();
                Text.text = "current Tume: "+time;
                vid.source="4.flv"
            }
            protected var timer:flash.utils.Timer = new Timer(200,2);   
            private function createHandler():void
            {
                try{
                    timer.addEventListener(flash.events.TimerEvent.TIMER, repeat);
                    timer.addEventListener(flash.events.TimerEvent.TIMER_COMPLETE, repeat);
                    //console.text = "Events are loaded2!";
                }catch(exep){}
            }
            source="{source}" />
            private function repeat(event:flash.events.TimerEvent):void{
                if(!vid.playing){   
                try{

                        if(changed && Math.round(vid.currentTime)!= Math.round(time)){
//                          console.text = console.text +"\n"+"try to seek to: "+time;
                            vid.seek(time);
                            changed=false;
                        }else {
                            timer.reset();
                            timer.stop();
                            vid.play();
                        }
                    }catch (ex){}

                }
            }





        ]]>
    </fx:Script>