当前位置:文档之家› 音乐播放器开发模块

音乐播放器开发模块

音乐播放器开发文档1.动能介绍开始菜单包含:a.添加音乐文件b.添加音乐文件夹c.添加背景图片d.退出播放模式:a.单曲循环 b.顺序循环 c.列表播放 d.随机播放透明度:透明百分之几或不透明界面设置:迷你模式关于:版本信息2、代码讲解全局变量:private SoundPlayer Player = new SoundPlayer();private SoundPlayer SencondPlayer = new SoundPlayer();Image[] image = new Image[500];//存放图片数组private int Imagecount = 0;//计算背景图片数private int order = 0;//存储图片总数private int fileCount = 0;//数组中计算音乐文件数private int fileCount1 = 0;//文件系数string[] musicfile = new string[500];//存放音乐文件int selectOne = 0;//双击事件选择的音乐的序号static int stop = 2;//判断是暂停还是播放static double CurrentPosition = 0;//获得文件播放的位置static int State = 0;//当前状态等于时进行单曲循环,等于零的时候进行顺序播放,//当前状态等于时为随机播放//当前状态等于时为列表播放OpenFileDialog openfile = new OpenFileDialog();//打开本地磁盘对话框添加音乐文件private void添加文件ToolStripMenuItem1_Click(object sender, EventArgs e){fileCount1++;openfile.Filter = "|*.mp3";openfile.Multiselect = true;//支持多行文件try{if (DialogResult.OK == openfile.ShowDialog()){musicfile[fileCount] = openfile.FileName;FileInfo fileinfo = new FileInfo(musicfile[fileCount]);//FileInfo类是将文件去相对路径string filename = fileCount1.ToString() + "_" + ;//使音乐名前加序号并只取文件名this.listBox1.Items.Add(filename);//将文件多行显示在列表中this.musicname.Text = ;PlayAndStop(fileCount); //启动MP3播放器fileCount++;}}catch (Exception){MessageBox.Show(musicfile[fileCount].ToString());}}添加音乐文件夹private void添加文件夹ToolStripMenuItem1_Click(object sender, EventArgs e){FolderBrowserDialog folder = new FolderBrowserDialog();//文件夹初始化folder.ShowDialog();string[] file = Directory.GetFiles(folder.SelectedPath.ToString(), "*.MP3");//使用数组存得到的文件int fileName = 0;try{foreach (string Music in file){fileCount1++;FileInfo f = new FileInfo(file[fileName]);//读取文件musicfile[fileCount] = file[fileName];fileName++;fileCount++;//数组存文件数string total = fileCount1.ToString() + "_" + ;//只取f中的文件名this.listBox1.Items.Add(total);}}catch (Exception){MessageBox.Show("输入的音乐总数超出!");}}添加背景图片private void添加背景图片ToolStripMenuItem1_Click(object sender, EventArgs e){FolderBrowserDialog folder = new FolderBrowserDialog();folder.ShowDialog();string[] BGfile = Directory.GetFiles(folder.SelectedPath.ToString(), "*.jpg");foreach (string pic in BGfile){image[order] = Image.FromFile(pic);order++;}this.timer1.Enabled = true;//启动定时器}定时器private void timer1_Tick(object sender, EventArgs e){this.BGpicture.Image = image[Imagecount];if (Imagecount >= order-1){Imagecount = 0;}else{Imagecount++;}}退出播放器private void退出ToolStripMenuItem1_Click(object sender, EventArgs e){this.Close();}MP3音乐播放器播放功能//播放MP3文件private void PlayAndStop(int fileCount){try{stop = 3;this.PlayOrStop.Text = "暂停";FileInfo f = new FileInfo(musicfile[fileCount]);this.musicname.Text = .ToString();//得到正在播放的音乐名listBox1.SelectedIndex = fileCount;//自动选中跳转的文件axWindowsMediaPlayer1.URL = musicfile[fileCount];axWindowsMediaPlayer1.Ctlcontrols.play();}catch (Exception){return;}}a.单曲循环private void单曲循环ToolStripMenuItem1_Click(object sender, EventArgs e){CurrentPosition = axWindowsMediaPlayer1.Ctlcontrols.currentPosition;//得到正在播放的位axWindowsMediaPlayer1.Ctlcontrols.currentPosition = CurrentPosition;//接着停止的位置继续播放State = 1;axWindowsMediaPlayer1.settings.setMode("loop", true);}b.顺序循环private void顺序播放ToolStripMenuItem1_Click(object sender, EventArgs e){State = 0;}c.列表播放private void列表循环ToolStripMenuItem1_Click(object sender, EventArgs e){State = 3;}d.随机播放private void随机播放ToolStripMenuItem1_Click(object sender, EventArgs e){State = 2;}调用播放模式的事件//改变播放状态,当音乐一首播放完后转入下一首,有线程调用private void axWindowsMediaPlayer1_PlayStateChange(object sender,AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e){Thread thread = new Thread(new ThreadStart(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) {Random Num = new Random();int Sum = Num.Next(0, fileCount);FileInfo f = new FileInfo(musicfile[Sum]);this.musicname.Text = ;selectOne = Sum;thread.Start();}}catch (Exception){return;}//列表播放try{if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded && State == 3) {if (selectOne > fileCount - 2){selectOne = 0;}{selectOne++;thread.Start();}}}catch (Exception){return;}}调用线程private void PlayThread(){PlayAndStop(selectOne);调用音乐播放功能}制作界面透明功能//透明度%private void toolStripMenuItem7_Click(object sender, EventArgs e) {this.Opacity = 0.1;}//透明度%private void toolStripMenuItem8_Click(object sender, EventArgs e) {this.Opacity = 0.3;}//透明度%private void toolStripMenuItem9_Click(object sender, EventArgs e) {this.Opacity = 0.5;}//透明度%private void toolStripMenuItem10_Click(object sender, EventArgs e) {this.Opacity = 0.7;}//透明度%private void toolStripMenuItem11_Click(object sender, EventArgs e){this.Opacity = 0.9;}//不透明private void不透明ToolStripMenuItem1_Click(object sender, EventArgs e) {this.Opacity = 1.0;}界面设置private void迷ToolStripMenuItem_Click(object sender, EventArgs e){Color color = Color.LightGoldenrodYellow;this.musicname.BackColor = color;bel1.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;}版本信息private void版本ToolStripMenuItem1_Click(object sender, EventArgs e){MessageBox.Show("软件版本:.0 正式版\n发布时间:.01.19\n\n新音乐播放器具备音乐播放、歌曲搜索、主题切换、窗口透明等功能,是一款性能卓越、体积“瘦小”、界面绚丽、操作简单的全功能音乐软件;\n新音乐播放器满足用户的音乐需要,为您的音乐享受带来更美妙的体验。

相关主题