`
qiyueguxing
  • 浏览: 66365 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Flex实现多功能Mp3播放器

    博客分类:
  • Flex
阅读更多

功能描述

  • 暂停/播放
  • 停止
  • 上一首
  • 下一首
  • 音量调整
  • 播放进度调整

效果图如下:

 

 

Flex实现比较简单,代码如下:

 

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 
			    fontSize="12" creationComplete="init()"
				minWidth="955" minHeight="600">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import mx.controls.Alert;
			
			public var sound:Sound;
			public var chan:SoundChannel;
			private const server:String = "assets/sound/";
			public var pausePos:int = 0;
			public var tempper:Number = 0;
			private var ac:ArrayCollection =new ArrayCollection(["斯琴高丽的伤心.mp3", "曲终人散.mp3","木兰情.mp3","烟花易冷.mp3"]);
			private var timer:Timer = new Timer(10, 0);

			[Embed(source="assets/sound/play.png")]
			private var playIcon:Class;
			[Bindable]
			[Embed(source="assets/sound/stop.png")]
			private var stopIcon:Class;
			[Embed(source="assets/sound/pause.png")]
			private var pauseIcon:Class;
			[Bindable]
			[Embed(source="assets/sound/pre.png")]
			private var preIcon:Class;
			[Bindable]
			[Embed(source="assets/sound/next.png")]
			private var nextIcon:Class;
			[Bindable]
			[Embed(source="assets/sound/pre2.png")]
			private var pre2Icon:Class;
			[Bindable]
			[Embed(source="assets/sound/next2.png")]
			private var next2Icon:Class;
			[Bindable]
			[Embed(source="assets/sound/sound.png")]
			private var soundIcon:Class;
			[Bindable]
			[Embed(source="assets/sound/full.png")]
			private var fullIcon:Class;
			
			//歌曲序列编号
			private var k:int=0;
			
			private function init():void{
				loadSound();
			}
			private function loadSound():void {
				if(chan != null) {
					chan.stop();
				}
				if(k==0){
					img3.enabled=false;
				}else if(k>=ac.length-1){
					img4.enabled=false;
				}else if(k==ac.length){
					k=0;
				}else{
					img3.enabled=true;
					img4.enabled=true;
				}
				myPanel.title=ac[k];
				timer.stop();
				sound = new Sound();
				var req:URLRequest =new URLRequest(server + ac[k]);
				sound.load(req);
				timer.addEventListener(TimerEvent.TIMER, timerHandler);
				timer.start();
				pausePos = 0;
				chan = sound.play();
				img1.setStyle("skin",pauseIcon);
			}
			
			private function timerHandler(event:TimerEvent):void{
				tempper = (chan.position/sound.length)*100;
				bar.setProgress(tempper,100);
			}
			
			//播放和暂停按钮
			private function playHandler():void{
				var c:Class=img1.getStyle("skin");
				if(c==pauseIcon){
					chan.stop();
					img1.setStyle("skin",playIcon);
					pausePos = chan.position;
				}else if(pausePos!=0){
					chan = sound.play(pausePos);
					img1.setStyle("skin",pauseIcon);
					pausePos = chan.position;
				}else{
					loadSound();
				}
					
			}
			//停止按钮
			private function playStopHandler():void{
				if(chan != null) {
					timer.stop();
					bar.setProgress(0,100);
					chan.stop();
					pausePos = 0;
					img1.setStyle("skin",playIcon);
				}
			}
			
			//进度条
			protected function bar_clickHandler(event:MouseEvent):void{
				var c:Class=img1.getStyle("skin");
				if(c==pauseIcon){
					chan.stop();
					chan = sound.play((event.localX/bar.width) * sound.length);
				}
			}
			
			//设置声音
			private function scanVolume():void{
				var stf:SoundTransform = new SoundTransform(volumeSlider.value,0);
				chan.soundTransform = stf;
			}
			
			private function playPreHandler():void{
				k--;
				loadSound();
			}
			
			private function playNextHandler():void{
				k++;
				loadSound();
			}

		]]>
	</mx:Script>
	<mx:Panel id="myPanel" x="34" y="26" width="478" height="399" layout="absolute">
		<mx:VideoDisplay x="0" y="0" width="100%" height="303"/>
		<mx:ProgressBar x="0" y="311"  height="9" width="100%" id="bar" labelPlacement="bottom" themeColor="#F20D7A"
						minimum="0" maximum="100"  label="" direction="right" mode="manual"  click="bar_clickHandler(event)"/>
		<mx:LinkButton id="img1" x="10" y="328" width="16" click="playHandler()"/>
		<mx:LinkButton id="img2" x="34" y="328" width="16" click="playStopHandler()" icon="{stopIcon}"/>
		<mx:LinkButton id="img3" x="58" y="328" width="16" click="playPreHandler()" icon="{preIcon}" disabledIcon="{pre2Icon}"/>
		<mx:LinkButton id="img4" x="82" y="328" width="16" click="playNextHandler()" icon="{nextIcon}" disabledIcon="{next2Icon}"/>
		<mx:Image id="img5" x="295" y="328" width="16" source="{soundIcon}"/>
		<mx:HSlider x="319" y="328" width="91" change="scanVolume()" id="volumeSlider" height="20"/>
		<mx:LinkButton id="img6" y="328" width="16" right="10" icon="{fullIcon}"/>
	</mx:Panel>
	
</mx:Application>

 

 

  • 大小: 14.3 KB
分享到:
评论
1 楼 176170847 2010-07-13  
我日!!!!!

相关推荐

    flex MP3播放器

    总之,Flex MP3播放器是一个综合运用Flex技术的实例,展示了音频处理、UI设计和数据同步等多个方面的技能。通过研究这个项目,开发者可以深入了解如何在Flex环境中创建高效、功能丰富的多媒体应用程序。

    flex4做的MP3播放器

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

    Flex MP3播放器

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

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

    总的来说,开发一个Flex和AIR的MP3播放器涉及到多个方面:理解Flex的MXML和ActionScript、掌握音频处理、设计用户界面、利用AIR特性以及可能的动画效果。通过这个教程,你应该能够逐步学会如何创建一个功能完备且...

    flex制作的MP3播放器

    总之,使用Flex制作MP3播放器是一个涉及UI设计、音频处理、事件机制、数据管理等多个方面的综合性项目。通过深入学习和实践,开发者不仅可以掌握Flex的相关技能,还能提升对多媒体处理和用户体验设计的理解。这个MP3...

    Flex 超炫 MP3播放器

    总的来说,Flex超炫MP3播放器的开发涉及到的技术和概念广泛,涵盖了前端开发的多个方面,包括UI设计、事件处理、音频处理和动画效果等。通过学习和实践这样的项目,开发者可以深入理解Flex框架的强大力量和灵活性。

    flex编写mp3播放器

    总之,Flex MP3播放器的开发涉及到文件选择、音频加载、播放控制和元数据显示等多个方面,是学习Flex基础和多媒体处理的好项目。通过这个项目,初学者可以加深对Flex框架的理解,同时提升处理多媒体应用的能力。

    flex mp3音乐播放器

    在MP3播放器项目中,ActionScript被用来编写控制播放、暂停、停止、前进、后退等音乐播放功能的逻辑。 3. **MXML**:MXML是Flex中的声明式语言,用于描述用户界面的布局和组件。在MP3播放器的源代码中,你可能会...

    flex制作Mp3播放器

    MP3播放器是许多Web应用程序中的常见功能,它允许用户在线播放音乐文件。以下是制作MP3播放器的关键知识点: 1. **FlashBuilder 4.0基础**:首先,我们需要熟悉FlashBuilder 4.0的界面和工作流程。这个IDE提供了...

    flex做的MP3,MP4播放器

    总的来说,这个Flex MP3、MP4播放器项目涉及到了客户端的Flex编程、服务器端的数据交互、媒体处理、用户体验设计等多个方面的知识,是一个综合性的项目,对于熟悉Flex技术的开发者来说,提供了良好的实践平台。

    一个Flex xml MP3播放器

    总结,这个“Flex XML MP3播放器”项目展示了如何利用Flex的强大功能和XML的数据灵活性,创建一个自定义的、功能丰富的媒体播放器。通过学习这个项目,开发者不仅可以掌握Flex的基本用法,还能了解到XML数据驱动、...

    mp3播放器源代码(flex)

    在本文中,我们将深入探讨如何使用Flex和ActionScript开发一个MP3...通过深入学习Flex和ActionScript,你可以理解并实现这样一个功能完善的MP3播放器,同时也可以进一步提升你的编程技能和对多媒体应用开发的理解。

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

    总的来说,这个Flex版MP3播放器项目涵盖了Flex编程、音频处理、用户界面设计和数据库管理等多个方面的知识点,对于想要深入学习Flex开发和音频应用的开发者来说,这是一个非常有价值的实践案例。通过分析提供的源...

    flex 音频播放器

    Flex音频播放器是一种基于Adobe Flex技术构建的交互式媒体播放器,它允许用户不仅能够播放音频文件,还提供了丰富的用户体验,如拖放播放位置和调节音量大小的功能。Flex是Adobe开发的一个开源框架,主要用于创建富...

    Mp3播放器-源代码-java-flex

    《Mp3播放器-源代码-java-flex》是一个基于Adobe AIR技术的项目,旨在实现一个功能齐全的MP3播放器。这个项目使用了Java语言和Flex框架进行开发,展现了Adobe AIR平台的强大功能和跨平台特性。在Adobe Flash Builder...

    flex播放器,实现暂停,上一首下一首功能,代码傻瓜

    Flex播放器是基于Adobe Flex框架开发的多媒体播放应用程序,它允许用户播放...Flex播放器的实现是一个学习和实践ActionScript 3.0以及Flex组件和事件处理的好机会,它能够帮助你理解如何构建一个功能完备的多媒体应用。

    自己写的mp3播放器,供大家交流(

    【标题】中的“自己写的mp3播放器”指的是一个由个人开发者独立编写的软件应用程序,其主要功能是播放MP3音频文件。这个播放器可能是用编程语言如ActionScript 3(AS3)编写的,这从给定的标签中可以推断出来。...

    Flex mp3player

    Flex MP3播放器的核心功能是对MP3文件进行解码和播放。它可能包含一个播放控件界面,如播放/暂停按钮、音量控制、进度条等。Flex使用内置的Sound类来处理音频播放,这个类提供了加载、播放、暂停、停止以及音量控制...

Global site tag (gtag.js) - Google Analytics