`
wptc
  • 浏览: 22571 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Flex简单的Mp3播放器。

    博客分类:
  • Web
阅读更多

这两天学习了下Flex3,至于为何不是4呢,这个原因没想过,呵呵,
自己尝试着写了很简单的Mp3播放器,虽然网上这类资源很多,但是大多数都有错误,或不完整,自己写的这个放在这里一是做个标记,方便以后自己学习,而是抛砖引玉,大家共同学习学习。

功能如下:

             1,播放远程mp3文件:请大家在URL中添加自己要试听歌曲的URL,这里看了两天神话,就用的《星月神话》

             2,暂停

             3,继续播放

             4,停止

             5,从网络上下载歌曲的进度显示

             6,歌曲播放进度显示

             7,支持歌曲播放进度的拉动播放

             8,音乐大小的调整
代码如下:

            

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
     layout="absolute" creationComplete="init()" 
>
    <mx:Script>
        <![CDATA[
            import mx.core.SoundAsset;
            import flash.media.*;
            import mx.controls.Alert;
            import flash.net.*;
            import flash.utils.Timer;


           public var myurl:String = "http://joy.online.sh.cn/joys/gb/images/site1/20091229/90e6ba45adf30ca3abfe28.mp3";
           public var request:URLRequest = new URLRequest(myurl);
           public var mySong:SoundAsset  = new SoundAsset();
            public var channel:SoundChannel;
            public var temp:Number = 0;
            [Bindable]
            public var tempper:Number = 0;
            public var timer:Timer;
            public var soundtransform:SoundTransform = new SoundTransform(0.5,0);
            private var myTimer:Timer = new Timer(10, 0);
            //标志当前是否继续播放,0 播放 1,不播放
            public var flag:Number;

     		public function init():void{
     			//加载远程URL,
     		     mySong.load(request);
     		    //   mybar.source = loader;
     		   //创建侦听器, 小括号内的第二个参数就是下面将要重复执行的函数
    		 myTimer.addEventListener(TimerEvent.TIMER, timerHandler);
    		 myTimer.start();

     		}
    		 private function timerHandler(event:TimerEvent):void{

    	 //功能: 显示音乐的播放进度, 进度条会随着音乐的继续播放而向右缓缓移动; 
    	 //播放进度条的值=(当前音乐播放时间/音乐的总时间)*100  百分比显示
  
     		 tempper = (channel.position/mySong.length)*100;
			 myprocess.value = tempper;

    		 }
     	
            //播放按钮
            public function play():void 
            {
                // 先 停止
                stop();
                // 在播放
                channel = mySong.play(0,int.MAX_VALUE);
            }
            //停止按钮
            public function stop():void 
            {
                // 停止
                if ( channel != null ) channel.stop();
				temp = 0;
				flag = 1;
            }
            //暂停
            public function pause():void{
				temp = channel.position;
				channel.stop();
				flag = 0;
            }
            //继续按钮
			public function playcontinue():void{
				
				//判断是否有上次暂停的记录
				if(temp!=0){
					//判断当前是否正在播放歌曲
					   if(flag ==0){
					  		channel = mySong.play(temp,int.MAX_VALUE);
					  		flag = 1;
					 		}
					 		else {
					 		Alert.show("正在播放歌曲");
					 		}
			 } else {
			 	Alert.show("请先播放歌曲");
			 }
			}
			//结束
            public function over():void{
            	Alert.show("It's Over!");
            }
            //音量
            public function volume():void{
                soundtransform.volume = vol.value; 
                channel.soundTransform = soundtransform;	
            }
            //歌曲滑动条
            public function changeprocess():void{
					temp = (myprocess.value/100)*mySong.length;
					channel.stop();
					channel = mySong.play(temp,int.MAX_VALUE);
            }
            
        ]]>
    </mx:Script>
    <mx:Panel width="674" height="360" layout="absolute" fontSize="16" horizontalCenter="-5" verticalCenter="-5">
        <mx:Button label="暂停" click="pause();" x="208" y="42"/>
        <mx:Button label="停止" click="stop();" x="371" y="42"/>
        <mx:Button label="播放" click="play();" x="140" y="42"/>
        <mx:Button label="继续" click="playcontinue();" x="290" y="42"/>
    <mx:HSlider x="140" y="241" id="vol" allowTrackClick="true" minimum="0.5" maximum="1"
    	 snapInterval="0.1" change="volume()" labels="音量" valueCommit="channel"
    	 />
    <mx:HSlider  x="150" y="128"  minimum="0" maximum="100" id="myprocess" allowTrackClick="true" change="changeprocess()"/>
    <mx:ProgressBar x="140" y="196" direction="right" width="291" source="mySong"
    	  minimum="1" maximum="100" indeterminate="false" enabled="true" labelPlacement="center"/>
    <mx:Label id="songjindu" x="140" y="109" text="已完成:{tempper.toFixed(2)}%" height="28" />
    <mx:Label x="140" y="164" text="已下载:" width="60"/>
    </mx:Panel>

    
</mx:Application>

 截图:

        见附件

大家一起学习学习! 还有感谢Ethan 给我的学习建议---API是最好的学习资料。

  • 大小: 29.3 KB
2
0
分享到:
评论
1 楼 三尺寒冰 2011-02-19  
是新建flex项目吗?
为什么我的提示:
[SWF] ting.swf - 解压缩后为 174,897 个字节
[SWF] ting.swf/[[DYNAMIC]]/1 - 解压缩后为 370,463 个字节
[SWF] ting.swf/[[DYNAMIC]]/2 - 解压缩后为 2,311,734 个字节
[SWF] ting.swf/[[DYNAMIC]]/3 - 解压缩后为 650,777 个字节
[SWF] ting.swf/[[DYNAMIC]]/4 - 解压缩后为 441,362 个字节
[SWF] ting.swf/[[DYNAMIC]]/5 - 解压缩后为 1,432,382 个字节
[SWF] ting.swf/[[DYNAMIC]]/6 - 解压缩后为 323,354 个字节
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at ting/timerHandler()[D:\我的文档\flex\ting\src\ting.mxml:42]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
到这里就不行了。。。

相关推荐

    Flex 超炫 MP3播放器

    Flex超炫MP3播放器是一款基于Adobe Flex技术构建的多媒体应用程序,主要用于播放MP3音频文件。Flex是Adobe公司推出的一款开源框架,它基于ActionScript 3.0编程语言和Flash Player运行时,允许开发者创建丰富的...

    FLEX播放器 flex 开发AIR及Flex之mp3播放器教程

    在本教程中,我们将深入探讨如何使用Adobe Flex技术开发一个MP3播放器,这涉及到FLEX播放器、Flex SDK以及Adobe Integrated Runtime (AIR)的使用。Flex是一种强大的开放源代码框架,用于构建富互联网应用程序(RIA)...

    flex MP3播放器

    Flex MP3播放器是一款基于Adobe Flex技术开发的音频播放软件,专为播放MP3格式的音乐文件设计。Flex是ActionScript 3.0的富互联网应用程序框架,它提供了丰富的用户界面组件和强大的数据服务功能,使得开发出具有...

    自己做的flex AIR MP3 播放器

    综上所述,这个flex AIR MP3播放器项目涉及了多种技术和概念,包括前端开发、音频处理、文件系统操作、网络编程以及事件驱动的用户交互。开发者通过集成这些技术,创建了一个功能齐全、跨平台的音乐播放解决方案。

    一个Flex xml MP3播放器

    【Flex XML MP3播放器详解】 Flex是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA)。这个“Flex XML MP3播放器”项目是利用Flex技术开发的一个多媒体播放器,专用于播放MP3音频文件。在本文...

    flex制作Mp3播放器

    在本文中,我们将深入探讨如何使用FlashBuilder 4.0来制作一个简易的MP3播放器。FlashBuilder是一款强大的开发工具,专为构建基于Adobe Flash技术的富互联网应用程序(RIA)而设计。MP3播放器是许多Web应用程序中的...

    flex编写mp3播放器

    在本文中,我们将深入探讨如何使用Flex技术来创建一个MP3播放器。Flex是一种基于ActionScript 3.0的开放源代码框架,用于构建富互联网应用程序(RIA)。它提供了丰富的图形用户界面组件和强大的数据绑定功能,非常...

    flex漂亮MP3播放器源码

    flex漂亮MP3播放器源码,结合flash、CSS等制作精美皮肤…… 具有一般的mp3播放、声音调节、进度条、3种频谱显示方式,内带flash素材源文件…… Drag.as通用拖动源代码…… Visualization Explorer……

    Flex MP3播放器

    Flex MP3播放器是一款基于Adobe Flex技术开发的MP3音频播放器。Flex是ActionScript 3.0的一个框架,主要用于构建富互联网应用程序(Rich Internet Applications, RIA)。它使用MXML和ActionScript来构建用户界面,并...

    flex mp3音乐播放器

    8. **用户交互设计**:良好的用户交互设计是Flex MP3播放器的重要组成部分。这包括合理的布局、易于理解的图标和直观的操作流程,以提供顺畅的用户体验。 9. **源代码注释**:项目中提到的“详细的代码说明”意味着...

    flex制作的MP3播放器

    在这个场景中,我们讨论的是一个使用Flex技术制作的MP3播放器。 在Flex中开发MP3播放器,首先需要理解Flex的基本架构和编程模型。Flex应用程序基于ActionScript 3.0,这是一种面向对象的脚本语言,与Flash Player或...

    Flex版Mp3播放器----大部分功能版二,后台

    标题中的“Flex版Mp3播放器----大部分功能版二,后台”指的是一个基于Adobe Flex技术开发的MP3播放器软件,它具备了大部分音频播放器的核心功能,并且具有后台运行的能力。Flex是一种用于构建富互联网应用程序(RIA...

    flex4做的MP3播放器

    这个简易的MP3播放器展示了Flex4在创建交互式媒体应用方面的潜力,虽然功能可能相对简单,但涉及的技术层面广泛,包括多媒体处理、事件驱动编程、UI设计等多个方面。通过深入学习和实践,开发者可以创建更复杂、功能...

    flex 精简音频播放器

    在这个"flex 精简音频播放器"项目中,我们看到它被用来开发一个简单的音频播放器,设计风格简洁,主要功能是播放MP3格式的音频文件,并且可以方便地嵌入到网页中。 首先,我们要理解Flex的基本结构。Flex项目通常由...

    flex mp3播放器源代码

    一款用flex做的音乐播放器,对于flex学习者很有用

    flex mp3播放器

    Flex MP3播放器是一款基于Adobe Flex技术开发的音频播放软件,专用于播放MP3格式的音频文件。Flex是一种开源的、基于ActionScript的框架,它允许开发者创建富互联网应用程序(RIAs),提供丰富的图形和交互体验。这...

Global site tag (gtag.js) - Google Analytics