FLVPlayer.mxml//主程序
----------------------------------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.events.SliderEvent;
import mx.events.VideoEvent;
private function playingMove(event:VideoEvent):void //播放时触发函数
{
my_hs.value=flvideo.playheadTime;
my_hs.maximum=flvideo.totalTime;
//当前播放时间
var hours:Number=Math.floor(flvideo.playheadTime/3600);
var minutes:Number=Math.floor(flvideo.playheadTime%3600/60);
var seconds:Number=Math.floor(flvideo.playheadTime%60);
lblCurrentTime.text=String(hours)+":"+String(minutes)+":"+String(seconds);
//视频总时间
var thours:Number=Math.floor(flvideo.totalTime/3600);
var tminutes:Number=Math.floor(flvideo.totalTime%3600/60);
var tseconds:Number=Math.floor(flvideo.totalTime%60);
lblTotaltime.text="/"+String(thours)+":"
+String(tminutes)+":"+String(tseconds);
}
private function hs_onChange(event:SliderEvent):void
{
//时间条随播放移动
flvideo.playheadTime=event.value;
}
private function startplay():void
{
if(!flvideo.playing)//VideoDisplay.playing标识视频是否正在播放
{
flvideo.play();
btnPlay.label="暂停";
}
else
{
flvideo.pause();
btnPlay.label="播放";
}
}
private function play(event:Event):void
{
var item:Object=(event.target as List).selectedItem;
flvideo.source=item.url;
flvideo.play();
btnPlay.label="暂停";
}
]]>
</mx:Script>
<mx:Model id="playlist" source="playlist.xml"/>
<mx:VideoDisplay id="flvideo" playheadUpdate="playingMove(event)"
x="30" y="30" height="350" autoPlay="false"
complete="btnPlay.label='播放'" width="470"/>
<mx:Button label="播放" click="startplay();" x="241" y="440" id="btnPlay"
fontFamily="Times New Roman" fontWeight="normal" fontSize="12"/>
<mx:HSlider minimum="0" id="my_hs" change="hs_onChange(event)" x="30"
y="420" width="470"/>
<mx:Label x="280" y="400" id="lblTotaltime"/>
<mx:Label x="237" y="400" id="lblCurrentTime"/>
<mx:List x="500" y="30" width="136" height="350" id="playList"
dataProvider="{playlist.video}" change="play(event)" labelField="label" backgroundColor="#999999" borderColor="#416178"></mx:List>
</mx:Application>
----------------------------------------------------------------------------------------------------------------------------------------------------
playlist.xml//播放列表
----------------------------------------------------------------------------------------------------------------------------------------------------
<PlayList>
<video>
<label>a</label>
<url>a.flv</url>
</video>
<video>
<label>b</label>
<url>b.flv</url>
</video>
</PlayList>
----------------------------------------------------------------------------------------------------------------------------------------------------
a.flv以及b.flv与上面两个文件在同一个目录中
这个程序参考了网上的一个简易的播放器修改而成,使用的工具是Adobe Flex Bulider 3
----------------------------------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.events.SliderEvent;
import mx.events.VideoEvent;
private function playingMove(event:VideoEvent):void //播放时触发函数
{
my_hs.value=flvideo.playheadTime;
my_hs.maximum=flvideo.totalTime;
//当前播放时间
var hours:Number=Math.floor(flvideo.playheadTime/3600);
var minutes:Number=Math.floor(flvideo.playheadTime%3600/60);
var seconds:Number=Math.floor(flvideo.playheadTime%60);
lblCurrentTime.text=String(hours)+":"+String(minutes)+":"+String(seconds);
//视频总时间
var thours:Number=Math.floor(flvideo.totalTime/3600);
var tminutes:Number=Math.floor(flvideo.totalTime%3600/60);
var tseconds:Number=Math.floor(flvideo.totalTime%60);
lblTotaltime.text="/"+String(thours)+":"
+String(tminutes)+":"+String(tseconds);
}
private function hs_onChange(event:SliderEvent):void
{
//时间条随播放移动
flvideo.playheadTime=event.value;
}
private function startplay():void
{
if(!flvideo.playing)//VideoDisplay.playing标识视频是否正在播放
{
flvideo.play();
btnPlay.label="暂停";
}
else
{
flvideo.pause();
btnPlay.label="播放";
}
}
private function play(event:Event):void
{
var item:Object=(event.target as List).selectedItem;
flvideo.source=item.url;
flvideo.play();
btnPlay.label="暂停";
}
]]>
</mx:Script>
<mx:Model id="playlist" source="playlist.xml"/>
<mx:VideoDisplay id="flvideo" playheadUpdate="playingMove(event)"
x="30" y="30" height="350" autoPlay="false"
complete="btnPlay.label='播放'" width="470"/>
<mx:Button label="播放" click="startplay();" x="241" y="440" id="btnPlay"
fontFamily="Times New Roman" fontWeight="normal" fontSize="12"/>
<mx:HSlider minimum="0" id="my_hs" change="hs_onChange(event)" x="30"
y="420" width="470"/>
<mx:Label x="280" y="400" id="lblTotaltime"/>
<mx:Label x="237" y="400" id="lblCurrentTime"/>
<mx:List x="500" y="30" width="136" height="350" id="playList"
dataProvider="{playlist.video}" change="play(event)" labelField="label" backgroundColor="#999999" borderColor="#416178"></mx:List>
</mx:Application>
----------------------------------------------------------------------------------------------------------------------------------------------------
playlist.xml//播放列表
----------------------------------------------------------------------------------------------------------------------------------------------------
<PlayList>
<video>
<label>a</label>
<url>a.flv</url>
</video>
<video>
<label>b</label>
<url>b.flv</url>
</video>
</PlayList>
----------------------------------------------------------------------------------------------------------------------------------------------------
a.flv以及b.flv与上面两个文件在同一个目录中
这个程序参考了网上的一个简易的播放器修改而成,使用的工具是Adobe Flex Bulider 3