ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:352.19KB ,
资源ID:6951918      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6951918.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(#用C#开发简单MP3播放器.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

#用C#开发简单MP3播放器.docx

1、#用C#开发简单MP3播放器一、软件说明:功能说明:一个简易小巧的MP3播放器,可以播放已经下载好的MP3格式的音乐。解决什么样的实际问题:市场上的音乐播放器大都占用资源比较大,而且需要联网,即使播放本地音乐,也会占用较多的网速,而这款播放器解决了这些问题。虽然还是有很多缺陷,但用起来还是比较方便的。)性能说明:可以播放单首或多首歌曲,可以保存或清空当前播放列表,支持列表循环,顺序播放,单曲循环。 /初始化 axWindowsMediaPlayer1.settings.autoStart。 /自动播放 axWindowsMediaPlayer1.settings.setMode(shuffle

2、, false。 /顺序播放 axWindowsMediaPlayer1.settings.enableErrorDialogs。 axWindowsMediaPlayer1.settings.balance。 axWindowsMediaPlayer1.settings.mute。 axWindowsMediaPlayer1.settings.volume。MenuStrip控件用到的方法事件有:privatevoid打开文件ToolStripMenuItem1_Click(object sender, EventArgs e。privatevoid添加歌曲ToolStripMenuItem

3、_Click(object sender, EventArgs e。privatevoid添加文件夹ToolStripMenuItem_Click(object sender, EventArgs e。privatevoid退出ToolStripMenuItem_Click(object sender, EventArgs e。privatevoid清空列表ToolStripMenuItem1_Click(object sender, EventArgs e。privatevoid顺序播放ToolStripMenuItem_Click(object sender, EventArgs e。pr

4、ivatevoid单曲循环ToolStripMenuItem_Click(object sender, EventArgs e。privatevoid随机播放ToolStripMenuItem_Click(object sender, EventArgs e。数据库设计或数据文件说明:因为播放器使用数据量较小,故采用TXT保存歌曲文件列表。使用的是文件处理。设计思路:播放器模块的设计结构如下:三、测试:测试用例列表:F:MusicA Little Love.mp3F:MusicChristmas In My Heart.mp3F:MusicEverytime.mp3F:MusicLiving

5、To Love You.mp3F:MusicLove Paradise.mp3F:MusicLucky Twice - Me And You.mp3F:MusicMorning.mp3F:MusicTraveling Light.mp3F:MusicTrouble Is A Friend.mp3F:MusicWish You Were Here.mp3F:MusicYou and Me.mp3F:Music.mp3F:Music一直很安静.mp3F:Music一首简单的歌.mp3F:Music七里香.mp3F:Music下一个天亮.mp3F:Music不再犹豫.mp3F:Music不完整的旋律

6、.mp3F:Music东风破.mp3F:Music依恋.mp3F:Music依然爱你.mp3F:Music光辉岁月.mp3F:Music兰若词.mp3F:Music再见理想.mp3F:Music分手快乐.mp3F:Music勇气.mp3F:Music匿名的好友.mp3F:Music单身美好.mp3F:Music喜欢两个人.mp3F:Music围巾.mp3F:Music在树上唱歌.mp3F:Music夜曲.mp3F:Music大城小爱.mp3F:Music天空.mp3F:Music如果有一天.mp3F:Music孤单北半球.mp3F:Music孩子气.mp3F:Music宁夏.mp3F:Musi

7、c左边.mp3F:Music带我走.mp3软件运行截图:测试情况分析经测试,软件运行情况基本良好,但单曲循环功能有些缺陷,有待改进,总体情况还算良好。四、小结这一次的课程设计开发的这个软件是我的第一个软件,看到它能够基本实现我想要的功能,感到非常开心,尽管还有很多缺陷。在做这个软件的时候,遇到过很多问题,一开始觉得有问题上网找就是了,但在做的的时候却并不是如此,上网XX,用C#开发的播放器源码很多,教程也不少,但都讲的很乱,而且那些属性名,控件名,方法名之类的都和自己的不同,原理不懂,给你源码也没用。没办法,就只能恶补,像各种控件的属性,尤其是axWindowsmediaPlayer 控件的各

8、种属性及使用方法这也是我这次课程设计最大的收获。),文件处理等。通过这次课程设计,我学到了很多课堂和书本学不到的东西,我觉得最重要的一点就是注意细节以及动手之前弄懂基本原理。五、附录用到的第三方控件或组件说明:这个程序用到的第三方控件是axWindowsmediaPlayer 控件,这个控件是一个COM组件,是windows自带的控件,用于播放媒体文件,在开发媒体播放器时使用是非常方便的。程序的主要代码 InitializeComponent(。 string musicPath = newstring1000。 /用于保存歌曲目录int musicCount = 0。privatevoid

9、Form1_Load(object sender, EventArgs e myPlayer.BeginInit(。 /初始化 myPlayer.settings.autoStart = true。 /自动播放 myPlayer.settings.setMode(shuffle, false。 /顺序播放 myPlayer.settings.enableErrorDialogs = true。 myPlayer.settings.balance = 0。 myPlayer.settings.mute = false。 myPlayer.settings.volume = 100。 /声音设为最

10、大if (File.Exists(listbox.txt /如果存在播放列表,那么加载播放列表 StreamReader reader = newStreamReader(listbox.txt。 try while (reader.Peek( != -1 string filepath = reader.ReadLine(。 if (File.Exists(filepath musicPathmusicCount+ = filepath。 string filename = Path.GetFileName(filepath。 listBox1.Items.Add(filename。 /li

11、stbox用来显示歌曲名 myPlayer.currentPlaylist.insertItem(myPlayer.currentPlaylist.count, myPlayer.newMedia(filepath。 listBox1.SelectedIndex = 0。 catch (Exception listBox1.SelectedIndex = -1。 MessageBox.Show(加载播放列表失败或者列表为空!, 提示, MessageBoxButtons.OK, MessageBoxIcon.Error。 finally reader.Close(。 privatevoid打开

12、文件ToolStripMenuItem1_Click(object sender, EventArgs e/打开单首歌曲,但不加载到播放列表 DialogResult dr = openFileDialog1.ShowDialog(。if (dr = DialogResult.OK myPlayer.URL = openFileDialog1.FileName。 privatevoid添加歌曲ToolStripMenuItem_Click(object sender, EventArgs e/打开单首歌曲,并加载到播放列表 DialogResult dr = openFileDialog1.S

13、howDialog(。if (dr = DialogResult.OK myPlayer.URL = openFileDialog1.FileName。string filepath = openFileDialog1.FileName。string filename = Path.GetFileName(filepath。 listBox1.Items.Add(filename。 musicPathmusicCount+ = filepath。 myPlayer.currentPlaylist.insertItem(myPlayer.currentPlaylist.count, myPlay

14、er.newMedia(filepath。 privatevoid添加文件夹ToolStripMenuItem_Click(object sender, EventArgs e/打开媒体文件夹,并加载到播放列表 DialogResult dr = folderBrowserDialog1.ShowDialog(。if (dr = DialogResult.OK string filepath = Directory.GetFiles(folderBrowserDialog1.SelectedPath。foreach (string s in filepath if (Path.GetExten

15、sion(s = .mp3 string filename = Path.GetFileName(s。 listBox1.Items.Add(filename。 musicPathmusicCount+ = s。 myPlayer.currentPlaylist.insertItem(myPlayer.currentPlaylist.count, myPlayer.newMedia(s。 privatevoid退出ToolStripMenuItem_Click(object sender, EventArgs e/退出播放器并保存当前播放列表 myPlayer.Ctlcontrols.stop

16、(。 myPlayer.close(。StreamWriter writer = newStreamWriter(listbox.txt, false, Encoding.Unicode。 /保存播放列表for (int i = 0。 i if (musicPathi != string.Empty writer.WriteLine(musicPathi。 writer.Close(。Application.Exit(。 privatevoid axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents

17、_PlayStateChangeEvent e /显示播放状态 if (myPlayer.playState = WMPLib.WMPPlayState.wmppsPlaying string s = myPlayer.currentMedia.sourceURL。for (int i = 0。 i if (listBox1.Itemsi.ToString( = Path.GetFileName(s listBox1.SelectedIndex = i。break。 privatevoid清空列表ToolStripMenuItem1_Click(object sender, EventArgs

18、 e/清空当前播放列表 myPlayer.Ctlcontrols.stop(。 /先停止播放器 listBox1.Items.Clear(。 /清空listbox myPlayer.currentPlaylist.clear(。 /清空播放列表for (int j = 0。 j musicPathj = 。 privatevoid Form1_KeyPress(object sender, KeyPressEventArgs e if (char.Equals(e.KeyChar, if (myPlayer.playState = WMPLib.WMPPlayState.wmppsPlayin

19、g myPlayer.Ctlcontrols.pause(。 privatevoid顺序播放ToolStripMenuItem_Click(object sender, EventArgs e/按列表顺序播放歌曲文件 myPlayer.settings.playCount = 1。 myPlayer.currentPlaylist.clear(。for (int j = 0。 j if (musicPathj != string.Empty myPlayer.currentPlaylist.insertItem(myPlayer.currentPlaylist.count, myPlayer.

20、newMedia(musicPathj。 myPlayer.settings.setMode(shuffle, false。 myPlayer.Ctlcontrols.playItem(myPlayer.currentPlaylist.get_Item(0。 privatevoid单曲循环ToolStripMenuItem_Click(object sender, EventArgs e/单曲循环 myPlayer.Ctlcontrols.stop(。 myPlayer.currentPlaylist.clear(。if (listBox1.SelectedIndex != -1 & list

21、Box1.Items.Count 0 int k = listBox1.SelectedIndex。for (int i = 0。 i myPlayer.currentPlaylist.insertItem(myPlayer.currentPlaylist.count, myPlayer.newMedia(musicPathk。 myPlayer.Ctlcontrols.playItem(myPlayer.currentPlaylist.get_Item(0。 privatevoid随机播放ToolStripMenuItem_Click(object sender, EventArgs e/随

22、机播放列表歌曲文件 myPlayer.settings.playCount = 1。 myPlayer.Ctlcontrols.stop(。 myPlayer.currentPlaylist.clear(。Random rd = newRandom(DateTime.Now.Millisecond。for (int i = 0。 i int j = rd.Next(0, musicCount。if (musicPathj != string.Empty myPlayer.currentPlaylist.insertItem(myPlayer.currentPlaylist.count, myP

23、layer.newMedia(musicPathj。 myPlayer.Ctlcontrols.playItem(myPlayer.currentPlaylist.get_Item(0。 privatevoid listBox1_SelectedIndexChanged(object sender, EventArgs e/点击列表歌曲时播放 int j = listBox1.SelectedIndex。if(listBox1.Items.Count0&listBox1.SelectedIndex=0 myPlayer.Ctlcontrols.playItem(myPlayer.current

24、Playlist.get_Item(listBox1.SelectedIndex。 程序入口代码Program.cs:using System。using System.Collections.Generic。using System.Linq。using System.Windows.Forms。using System.Runtime.InteropServices。using Microsoft.Win32。using System.Threading。namespace MyMusicPlayerstaticclassProgram /*显示已经运行程序的主界面*/ DllImport

25、(user32.dll, EntryPoint = ShowWindowstaticexternbool ShowWindow(IntPtr handle, int flags。 /显示窗口 DllImport(user32.dll, EntryPoint = SetForegroundWindowstaticexternbool SetForegroundWindow(IntPtr handle。 /将窗口置最前/应用程序的主入口点。/ STAThreadstaticvoid Main( Application.EnableVisualStyles(。Application.SetCompatibleTextRenderingDefault(false。Application.Run(newMusicPlayer(。

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

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