ActionScript编程实战项目MP3播放器.docx
- 文档编号:2875161
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:12
- 大小:239.92KB
ActionScript编程实战项目MP3播放器.docx
《ActionScript编程实战项目MP3播放器.docx》由会员分享,可在线阅读,更多相关《ActionScript编程实战项目MP3播放器.docx(12页珍藏版)》请在冰豆网上搜索。
ActionScript编程实战项目MP3播放器
ActionScript编程实战项目:
MP3播放器
如果要播放mp3等格式的声音文件,通常会使用专业的声音播放软件,如MediaPlayer、RealPlayer等。
其实在Flash中,使用ActionScript语言就可以制作一个音乐播放器,并且可以实现声音的播放、暂停和停止等功能。
音乐播放器如图24-1所示。
图24-1音乐播放器
制作过程:
(1)新建720×390像素的空白文档,将所有素材图像导入到【库】面板中,并将其导出为自定义类。
然后,再将Label和ProgressBar组件拖入到【库】面板,如图24-2所示。
图24-2导入图像及拖入组件
(2)在classes子文件夹中新建名称为main的ActionScript文件,并在该文件中使用import语句导入所需的类,以及创建包、main类和main()主函数,如下所示。
packageclasses{
importflash.display.Sprite;
importflash.display.Bitmap;
importflash.display.BitmapData;
importflash.display.MovieClip;
importflash.media.ID3Info;
importflash.media.Sound;
importflash.media.SoundTransform;
importflash.media.SoundChannel;
import.URLRequest;
importfl.controls.ProgressBar;
importfl.controls.Label;
importflash.text.TextFormat;
importflash.events.MouseEvent;
importflash.filters.GlowFilter;
importflash.utils.setInterval;
publicclassmainextendsSprite{
publicfunctionmain():
void{
//主函数体
}
}
}
(3)在main类中实例化所有导入的位图图像,并创建用于控制播放声音的Sound对象、SoundChannel对象等,如下所示。
privatevarbackgroundimage:
Bitmap=newBitmap(newBackGroundImage(719,389));
privatevarID3AreaBG:
Bitmap=newBitmap(newID3Area(278,234));
privatevarlistLine:
Bitmap=newBitmap(newListLine(243,151));
privatevarplayIcon:
Bitmap=newBitmap(newPlayerIcon(118,119));
privatevarbuttonsBMPArray:
Array=newArray(newBitmap(newStopMusic(41,41)),newBitmap(newFastPlay(41,41)),newBitmap(newVolumeControl(41,41)),newBitmap(newFastBack(41,41)),newBitmap(newPlayMusic(41,41)),newBitmap(newPauseMusic(41,41)));
privatevarbuttonsMCArray:
Array=newArray(newMovieClip(),newMovieClip(),newMovieClip(),newMovieClip(),newMovieClip(),newMovieClip());
privatevarbuttonBG:
Bitmap=newBitmap(newButtonBG(151,151));
privatevarglowFilter:
GlowFilter=newGlowFilter(0xffcc00,1,4,4);
privatevarplayProgressBar:
ProgressBar=newProgressBar();
privatevarvolumeProgressBar:
ProgressBar=newProgressBar();
privatevarID3InfoArray:
Array=newArray(newLabel(),newLabel(),newLabel(),newLabel(),newLabel(),newLabel());
privatevarID3TextFormat:
TextFormat=newTextFormat();
privatevarID3TextArray:
Array;
privatevarsound:
Sound=newSound();
privatevarsoundRequest:
URLRequest=newURLRequest("mp3/music.mp3");
privatevarsoundChannel:
SoundChannel=newSoundChannel();
privatevarcurrentPosition:
Number=0;
privatevarplayed:
Boolean=false;
privatevarsoundtransform:
SoundTransform=newSoundTransform();
(4)创建名称为createUserInterface的函数,该函数将实例化的位图图像及控制组件显示在舞台中,以组成一个播放器界面,如下所示。
privatefunctioncreateUserInterface():
void{
with(backgroundimage){
x=0;
y=0;
}
//定义背景图像的位置
with(ID3AreaBG){
x=150;
y=60;
}
//定义ID3信息背景图像的位置
with(playIcon){
x=230;
y=120;
}
//定义播放图标的位置
with(playProgressBar){
move(140,310);
setSize(300,10);
buttonMode=true;
}
//定义播放进度条的位置
with(buttonBG){
x=440;
y=80;
}
//定义按钮背景图像的位置
with(volumeProgressBar){
move(440,250);
setSize(150,6);
visible=false;
buttonMode=true;
}
//定义声音控制器的位置、大小和不可见
with(listLine){
x=167;
y=104;
visible=false;
}
with(stage){
addChild(backgroundimage);
addChild(ID3AreaBG);
addChild(playIcon);
addChild(listLine);
addChild(playProgressBar);
addChild(buttonBG);
addChild(volumeProgressBar);
//显示播放器界面
}
}
(5)创建名称为createButtons的函数,该函数定义所有按钮图像的位置,并侦听它的鼠标经过、离开和单击事件,如下所示。
privatefunctioncreateButtons():
void{
for(vari:
int=0;i<6;i++){
with(buttonsBMPArray[i]){
x=-20.5;
y=-20.5;
}
//将按钮位图图像的位置
with(buttonsMCArray[i]){
addChild(buttonsBMPArray[i]);
buttonMode=true;
addEventListener(MouseEvent.MOUSE_OVER,overBtn);
addEventListener(MouseEvent.MOUSE_OUT,outBtn);
addEventListener(MouseEvent.CLICK,btnEvents);
//侦听按钮的鼠标经过、离开和单击事件
}
stage.addChild(buttonsMCArray[i]);
//将所有按钮显示在舞台中
}
for(varj:
int=0;j<4;j++){
with(buttonsMCArray[j]){
x=515+60*Math.cos(Math.PI/2*(j-1));
y=155+60*Math.sin(Math.PI/2*(j-1));
}
}
//定义前4个按钮的位置
for(vark:
int=4;k<6;k++){
with(buttonsMCArray[k]){
x=515;
y=155;
}
}
//定义后2个按钮的位置
buttonsMCArray[5].visible=false;
//定义最后一个按钮不可见
}
(6)创建名称为loadSound的函数,该函数用于加载外部的声音文件,如下所示。
privatefunctionloadSound():
void{
sound.load(soundRequest);
}
(7)创建名称为btnEvents的函数,该函数使用switch语句判断事件的目标,并执行相应的按钮操作,如下所示。
privatefunctionbtnEvents(event:
MouseEvent=null):
void{
switch(event.target){
casebuttonsMCArray[0]:
//停止播放
if(played=true){
soundChannel.stop();
currentPosition=0;
soundChannel=sound.play(currentPosition);
//从指定位置开始播放声音
soundChannel.stop();
//停止播放声音
buttonsMCArray[4].visible=true;
buttonsMCArray[5].visible=false;
playIcon.visible=true;
listLine.visible=false;
hiddenID3Info();
}
break;
casebuttonsMCArray[1]:
//前进播放
if(played=true&&(sound.length-soundChannel.position>5000)){
soundChannel.stop();
currentPosition=soundChannel.position+5000;
soundChan
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ActionScript编程 实战项目MP3播放器 ActionScript 编程 实战 项目 MP3 播放