A FLV Player implemented in Flex

本文介绍了一个使用Flex技术实现的FLV播放器Demo,该播放器具备播放、暂停、停止等功能,并支持音量调节及播放进度显示与定位。
 用Flex实现 的Flv Player,有播放,暂停,停止,音量调节,播放进度显示与定位功能。很不错的一个Demo。
<?xml version="1.0" encoding="utf-8" ?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
    
<mx:Script>
    
<![CDATA[ 
    
    
/** Cato Paus Skrede
        UmbrellaCorp DA *
*/
    
    [Bindable]
    private 
var movie:String;
    
    private 
function setSource():void{
        
//movie = "http://stage.orchestra.it/x.flv"; // some dud dancing 16 min sample.
        movie = "http://58.211.2.168/v2blog/2007/03/31/1175351546716-converted.flv";
    
        
// the url of the FLV ver. 1.1 do contains the metaData for totalTime FLV ver 1.0 do's NOT.
        /* if you type the url into VideoDisplay.source and use autoplay it starts to play in design mode
           that's realy annoying.
*/
    }

    private 
function formatPositionToolTip(value:int):String{
        
        
//  do only handle minuts.
        
        
var result:String = (value % 60).toString();
        
if (result.length == 1){
            result 
= Math.floor(value / 60).toString() + ":0" + result;
        } 
else {
            result 
= Math.floor(value / 60).toString() + ":" + result;
        }
        
return result;
    }

    

  ]]
> 
  
</mx:Script>
<mx:Panel layout="absolute" width="400" height="400" headerHeight="0" cornerRadius="2" borderStyle="solid" borderThickness="0" borderThicknessBottom="0" borderThicknessLeft="0" borderThicknessRight="0" borderThicknessTop="0" backgroundColor="#000000">
  
<mx:VideoDisplay id="videoDisplay" source="{movie}" width="380" height="310" left="10" top="10" /> 
  
<mx:ProgressBar id="loadProgress" label="" mode="event" barColor="#00ff00" minimum="0" maximum="100" y="336" height="20" source="{videoDisplay}" trackHeight="10" trackColors="[#00ff00, #e6eeee]" left="10" right="10" /> 
  
<mx:HSlider id="position" height="5" dataTipFormatFunction="formatPositionToolTip" thumbPress="videoDisplay.pause()" slideDuration="0" thumbRelease="videoDisplay.play()" change="videoDisplay.playheadTime = position.value" value="{videoDisplay.playheadTime}" minimum="0" maximum="{videoDisplay.totalTime}" left="4" right="4" bottom="62" /> 
  
<mx:Button label="Play" click="videoDisplay.play();" cornerRadius="0" bottom="10" x="10" /> 
  
<mx:Button label="Pause" click="videoDisplay.pause();" cornerRadius="0" bottom="10" left="69" /> 
  
<mx:Button label="Stop" click="videoDisplay.stop();" cornerRadius="0" left="138" bottom="10" /> 
  
<mx:HSlider id="volume" snapInterval="0.01" value="0.5" maximum="1.0" change="videoDisplay.volume = volume.value;" liveDragging="true" height="20" left="236" bottom="20" width="154" /> 
  
<mx:Label styleName="playheadTimeLabel" text="{formatPositionToolTip(videoDisplay.playheadTime)} - {formatPositionToolTip(videoDisplay.totalTime)}" color="#ffffff" left="5" top="0" /> 
  
</mx:Panel>
  
<mx:Button click="setSource()" label="Get FLV" /> 
</mx:Application>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值