音乐播放器开发模块.docx

上传人:b****7 文档编号:11418253 上传时间:2023-02-28 格式:DOCX 页数:19 大小:1.36MB
下载 相关 举报
音乐播放器开发模块.docx_第1页
第1页 / 共19页
音乐播放器开发模块.docx_第2页
第2页 / 共19页
音乐播放器开发模块.docx_第3页
第3页 / 共19页
音乐播放器开发模块.docx_第4页
第4页 / 共19页
音乐播放器开发模块.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

音乐播放器开发模块.docx

《音乐播放器开发模块.docx》由会员分享,可在线阅读,更多相关《音乐播放器开发模块.docx(19页珍藏版)》请在冰豆网上搜索。

音乐播放器开发模块.docx

音乐播放器开发模块

音乐播放器开发文档

1.动能介绍

开始菜单包含:

a.添加音乐文件b.添加音乐文件夹c.添加背景图片d.退出

播放模式:

a.单曲循环b.顺序循环c.列表播放d.随机播放

透明度:

透明百分之几或不透明

界面设置:

迷你模式

关于:

版本信息

2、代码讲解

全局变量:

privateSoundPlayerPlayer=newSoundPlayer();

privateSoundPlayerSencondPlayer=newSoundPlayer();

Image[]image=newImage[500];//存放图片数组

privateintImagecount=0;//计算背景图片数

privateintorder=0;//存储图片总数

privateintfileCount=0;//数组中计算音乐文件数

privateintfileCount1=0;//文件系数

string[]musicfile=newstring[500];//存放音乐文件

intselectOne=0;//双击事件选择的音乐的序号

staticintstop=2;//判断是暂停还是播放

staticdoubleCurrentPosition=0;//获得文件播放的位置

staticintState=0;//当前状态等于时进行单曲循环,等于零的时候进行顺序播放,//当前状态等于时为随机播放//当前状态等于时为列表播放

OpenFileDialogopenfile=newOpenFileDialog();//打开本地磁盘对话框

添加音乐文件

privatevoid添加文件ToolStripMenuItem1_Click(objectsender,EventArgse)

{

fileCount1++;

openfile.Filter="|*.mp3";

openfile.Multiselect=true;//支持多行文件

try

{

if(DialogResult.OK==openfile.ShowDialog())

{

musicfile[fileCount]=openfile.FileName;

FileInfofileinfo=newFileInfo(musicfile[fileCount]);

//FileInfo类是将文件去相对路径

stringfilename=fileCount1.ToString()+"_"+fileinfo.Name;//使音乐名前加序号并只取文件名

this.listBox1.Items.Add(filename);//将文件多行显示在列表中

this.musicname.Text=fileinfo.Name;

PlayAndStop(fileCount);//启动MP3播放器

fileCount++;

}

}

catch(Exception)

{

MessageBox.Show(musicfile[fileCount].ToString());

}

}

添加音乐文件夹

privatevoid添加文件夹ToolStripMenuItem1_Click(objectsender,EventArgse)

{

FolderBrowserDialogfolder=newFolderBrowserDialog();//文件夹初始化

folder.ShowDialog();

string[]file=Directory.GetFiles(folder.SelectedPath.ToString(),"*.MP3");//使用数组存得到的文件

intfileName=0;

try

{

foreach(stringMusicinfile)

{

fileCount1++;

FileInfof=newFileInfo(file[fileName]);//读取文件

musicfile[fileCount]=file[fileName];

fileName++;

fileCount++;//数组存文件数

stringtotal=fileCount1.ToString()+"_"+f.Name;//f.Name只取f中的文件名

this.listBox1.Items.Add(total);

}

}

catch(Exception)

{

MessageBox.Show("输入的音乐总数超出!

");

}

}

添加背景图片

privatevoid添加背景图片ToolStripMenuItem1_Click(objectsender,EventArgse)

{

FolderBrowserDialogfolder=newFolderBrowserDialog();

folder.ShowDialog();

string[]BGfile=Directory.GetFiles(folder.SelectedPath.ToString(),"*.jpg");

foreach(stringpicinBGfile)

{

image[order]=Image.FromFile(pic);

order++;

}

this.timer1.Enabled=true;//启动定时器

}

定时器

privatevoidtimer1_Tick(objectsender,EventArgse)

{

this.BGpicture.Image=image[Imagecount];

if(Imagecount>=order-1)

{

Imagecount=0;

}

else

{

Imagecount++;

}

}

退出播放器

privatevoid退出ToolStripMenuItem1_Click(objectsender,EventArgse)

{

this.Close();

}

MP3音乐播放器播放功能

//播放MP3文件

privatevoidPlayAndStop(intfileCount)

{

try

{

stop=3;

this.PlayOrStop.Text="暂停";

FileInfof=newFileInfo(musicfile[fileCount]);

this.musicname.Text=f.Name.ToString();//得到正在播放的音乐名

listBox1.SelectedIndex=fileCount;//自动选中跳转的文件

axWindowsMediaPlayer1.URL=musicfile[fileCount];

axWindowsMediaPlayer1.Ctlcontrols.play();

}

catch(Exception)

{

return;

}

}

a.单曲循环

privatevoid单曲循环ToolStripMenuItem1_Click(objectsender,EventArgse)

{

CurrentPosition=axWindowsMediaPlayer1.Ctlcontrols.currentPosition;//得到正在播放的位axWindowsMediaPlayer1.Ctlcontrols.currentPosition=CurrentPosition;//接着停止的位置继续播放

State=1;

axWindowsMediaPlayer1.settings.setMode("loop",true);

}

b.顺序循环

privatevoid顺序播放ToolStripMenuItem1_Click(objectsender,EventArgse)

{

State=0;

}

c.列表播放

privatevoid列表循环ToolStripMenuItem1_Click(objectsender,EventArgse)

{

State=3;

}

d.随机播放

privatevoid随机播放ToolStripMenuItem1_Click(objectsender,EventArgse)

{

State=2;

}

调用播放模式的事件

//改变播放状态,当音乐一首播放完后转入下一首,有线程调用

privatevoidaxWindowsMediaPlayer1_PlayStateChange(objectsender,AxWMPLib._WMPOCXEvents_PlayStateChangeEvente)

{

Threadthread=newThread(newThreadStart(PlayThread));

//顺序播放

if(axWindowsMediaPlayer1.playState==WMPLib.WMPPlayState.wmppsMediaEnded&&State==0)

{

try

{

if(selectOne>fileCount-2)

{

selectOne=0;

thread.Start();

}

else

{

selectOne++;

thread.Start();

}

}

catch(Exception)

{

return;

}

}

//随机播放

try

{

if(axWindowsMediaPlayer1.playState==WMPLib.WMPPlayState.wmppsMediaEnded&&State==2)

{

RandomNum=newRandom();

intSum=Num.Next(0,fileCount);

FileInfof=newFileInfo(musicfile[Sum]);

this.musicname.Text=f.Name;

selectOne=Sum;

thread.Start();

}

}

catch(Exception)

{

return;

}

//列表播放

try

{

if(axWindowsMediaPlayer1.playState==WMPLib.WMPPlayState.wmppsMediaEnded&&State==3)

{

if(selectOne>fileCount-2)

{

selectOne=0;

}

else

{

selectOne++;

thread.Start();

}

}

}

catch(Exception)

{

return;

}

}

调用线程

privatevoidPlayThread()

{

PlayAndStop(selectOne);调用音乐播放功能

}

制作界面透明功能

//透明度%

privatevoidtoolStripMenuItem7_Click(objectsender,EventArgse)

{

this.Opacity=0.1;

}

//透明度%

privatevoidtoolStripMenuItem8_Click(objectsender,EventArgse)

{

this.Opacity=0.3;

}

//透明度%

privatevoidtoolStripMenuItem9_Click(objectsender,EventArgse)

{

this.Opacity=0.5;

}

//透明度%

privatevoidtoolStripMenuItem10_Click(objectsender,EventArgse)

{

this.Opacity=0.7;

}

//透明度%

privatevoidtoolStripMenuItem11_Click(objectsender,EventArgse)

{

this.Opacity=0.9;

}

//不透明

privatevoid不透明ToolStripMenuItem1_Click(objectsender,EventArgse)

{

this.Opacity=1.0;

}

界面设置

privatevoid迷ToolStripMenuItem_Click(objectsender,EventArgse)

{

Colorcolor=Color.LightGoldenrodYellow;

this.musicname.BackColor=color;

this.label1.BackColor=color;

this.listBox1.BackColor=color;

this.Up.BackColor=color;

this.PlayOrStop.BackColor=color;

this.Down.BackColor=color;

this.Stop.BackColor=color;

this.MusicText.BackColor=color;

this.menu.BackColor=color;

this.statusStrip1.BackColor=color;

}

版本信息

privatevoid版本ToolStripMenuItem1_Click(objectsender,EventArgse)

{

MessageBox.Show("软件版本:

.0正式版\n发布时间:

.01.19\n\n新音乐播放器具备音乐播放、歌曲搜索、主题切换、窗口透明等功能,是一款性能卓越、体积“瘦小”、界面绚丽、操作简单的全功能音乐软件;\n新音乐播放器满足用户的音乐需要,为您的音乐享受带来更美妙的体验。

\n\n\t\t欢迎大家提出宝贵意见!

\n\n\t\t\t\t思远IT学院\n\n\t\t\t制作人:

童新联系方式QQ:

"865110135"关于软件");

}

上一曲功能:

privatevoidDown_Click(objectsender,EventArgse)

{

try

{

if(selectOne

{

selectOne++;

PlayAndStop(selectOne);

}

else

{

selectOne=0;

PlayAndStop(selectOne);

}

}

catch(Exception)

{

return;

}

}

下一曲

privatevoidUp_Click(objectsender,EventArgse)

{

try

{

if(selectOne<=0)

{

selectOne=fileCount1-1;

PlayAndStop(selectOne);

}

else

{

selectOne--;

PlayAndStop(selectOne);

}

}

catch(Exception)

{

return;

}

}

播放或暂停

privatevoidPlayOrStop_Click(objectsender,EventArgse)

{

try

{

if(stop%2==0)//判断播放或暂停

{

this.PlayOrStop.Text="暂停";

selectOne=this.listBox1.SelectedIndex;

FileInfof=newFileInfo(musicfile[selectOne]);

this.musicname.Text=f.Name;

stringplayUrl=musicfile[selectOne];

axWindowsMediaPlayer1.URL=playUrl;

axWindowsMediaPlayer1.Ctlcontrols.currentPosition=CurrentPosition;

stop=stop+1;//当前stop=3;为暂停状态

axWindowsMediaPlayer1.Ctlcontrols.play();

CurrentPosition=0;

}

else

{

this.PlayOrStop.Text="播放";

CurrentPosition=axWindowsMediaPlayer1.Ctlcontrols.currentPosition;

axWindowsMediaPlayer1.Ctlcontrols.pause();

stop=stop-1;//当前stop=2;为开始状态

}

}

catch(Exception)

{

return;

}

}

停止音乐播放

privatevoidStop_Click(objectsender,EventArgse)

{

axWindowsMediaPlayer1.Ctlcontrols.stop();

this.PlayOrStop.Text="播放";

stop=2;

}

 

双击播放音乐

//双击事件

privatevoidlistBox1_DoubleClick(objectsender,EventArgse)

{

try

{

if(listBox1.SelectedIndex<0)//listBox1.SelectedIndex选择的对象

selectOne=1;

else

selectOne=listBox1.SelectedIndex;

if(listBox1.Items.Count<0)//listBox1.Items.Countlistbox中文件的数

listBox1.SelectedIndex=0;

PlayAndStop(selectOne);

}

catch(Exception)

{

{

return;

}

}

 

音乐播放器开发文档

此文档仅供参考,不的抄袭或盗用!

未经本人允许不许再次上传到网上,此文档是初学者的一点心得希望对你有所帮助!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1