音乐播放器开发模块doc.docx
- 文档编号:10171466
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:16
- 大小:1.36MB
音乐播放器开发模块doc.docx
《音乐播放器开发模块doc.docx》由会员分享,可在线阅读,更多相关《音乐播放器开发模块doc.docx(16页珍藏版)》请在冰豆网上搜索。
音乐播放器开发模块doc
音乐播放器开发文档
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; } } 音乐播放器开发文档 此文档仅供参考,不的抄袭或盗用! 未经本人允许不许再次上传到网上,此文档是初学者的一点心得希望对你有所帮助!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 播放 开发 模块 doc