C# 窗体播放器_第1页
C# 窗体播放器_第2页
C# 窗体播放器_第3页
C# 窗体播放器_第4页
C# 窗体播放器_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文件:主要是提供打开文件夹和打开歌曲功能文件列表:主要是提供打开之前的播放列表、保证现在正在播放的列表,清空现在播放的列表编辑:可以实现上一曲、下一曲、暂停等功能。整个程序还提供右键功能using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;namespace MP3 p

2、ublic partial class PLAYER : Form bool bo = true; public PLAYER()/初始界面 InitializeComponent(); comboBox1.SelectedIndex = 0; axWindowsMediaPlayer1.currentPlaylist.clear(); listView1.Items.Clear(); string name = "C:/PlayList.txt" FileInfo file = new FileInfo(name); if (file.Exists) using (Fil

3、eStream fi = new FileStream(name, FileMode.Open) using (StreamReader Reader = new StreamReader(fi) string m = Reader.ReadLine(); while (m != null) WMPLib.IWMPMedia IWM = axWindowsMediaPlayer1.newMedia(m); axWindowsMediaPlayer1.currentPlaylist.appendItem(IWM); axWindowsMediaPlayer1.Ctlcontrols.play()

4、; ListViewItem list = new ListViewItem(); list.Text = (listView1.Items.Count + 1).ToString(); list.SubItems.Add(Path.GetFileName(m); list.SubItems.Add(m); listView1.Items.Add(list); m = Reader.ReadLine(); else huode(); public void huode()/播放同步 if (listView1.Items.Count!=0) string str = axWindowsMedi

5、aPlayer1.currentMedia.sourceURL; for (int i = 0; i < listView1.Items.Count; i+) string sp = listView1.Itemsi.SubItems2.Text; if (sp = str) listView1.Itemsi.Selected = true; listView1.Select(); else listView1.Itemsi.Selected = false; listView1.Select(); else public void openfile()/以打开多少歌曲的方式进行打开 O

6、penFileDialog open = new OpenFileDialog(); open.Multiselect = true; open.Filter = "MP3(*.mp3)|*.mp3|MP4(*.mp4)|*.mp4" open.InitialDirectory = "g:" if (open.ShowDialog() = DialogResult.OK) string st = open.FileNames; foreach (string s in st) int leng = 0; foreach (ListViewItem lis

7、 in listView1.Items) if (s = lis.SubItems2.Text) leng+; if (leng = 0) WMPLib.IWMPMedia media = this.axWindowsMediaPlayer1.newMedia(s); axWindowsMediaPlayer1.currentPlaylist.appendItem(media); int mp = axWindowsMediaPlayer1.currentPlaylist.count; listInfo(mp); axWindowsMediaPlayer1.Ctlcontrols.play()

8、; AddList(); huode(); bo = true; public void openDir()/打开文件夹方式打开歌曲 FolderBrowserDialog folder = new FolderBrowserDialog(); if (folder.ShowDialog() = DialogResult.OK) DirectoryInfo dir = new DirectoryInfo(folder.SelectedPath); FileInfo filein = dir.GetFiles("*.mp3"); if (filein.Length = 0)

9、MessageBox.Show("该文件夹没有mp3格式的文件", "请注意"); else foreach (FileInfo f in filein) int leng = 0; foreach (ListViewItem lis in listView1.Items) if (f.FullName = lis.SubItems2.Text) leng+; if (leng = 0) WMPLib.IWMPMedia media = this.axWindowsMediaPlayer1.newMedia(f.FullName); axWindowsM

10、ediaPlayer1.currentPlaylist.appendItem(media); int m = axWindowsMediaPlayer1.currentPlaylist.count; listInfo(m); axWindowsMediaPlayer1.Ctlcontrols.play(); AddList(); huode(); bo = true; public void listInfo(int m)/想ListView1中添加数据 listView1.Items.Clear(); for (int i = 0; i < m; i+) ListViewItem li

11、st = new ListViewItem(); list.Text = (listView1.Items.Count + 1).ToString(); list.SubItems.Add(axWindowsMediaPlayer1.currentPlaylist.get_Item(i).name); list.SubItems.Add(axWindowsMediaPlayer1.currentPlaylist.get_Item(i).sourceURL); listView1.Items.Add(list); public void show()/模块提示信息 MessageBox.Show

12、("该模块还没有开放"); public void AddList()/添加最后一个播放列表 string name="C:/PlayList.txt" using (FileStream fi = new FileStream(name, FileMode.Create, FileAccess.Write) using (StreamWriter write = new StreamWriter(fi) for (int i = 0; i < listView1.Items.Count; i+) string st = listView1.Ite

13、msi.SubItems2.Text; write.WriteLine(st); private void Close_Click(object sender, EventArgs e)/关闭系统 Close(); private void OpenDic_Click(object sender, EventArgs e)/打开文件 if (listView1.Items.Count != 0) if (MessageBox.Show("你要清空列表里面的歌曲吗", "提示", MessageBoxButtons.YesNo, MessageBoxIco

14、n.Error) = DialogResult.Yes) bo = false; axWindowsMediaPlayer1.currentPlaylist.clear(); listView1.Items.Clear(); openfile(); else bo = false; openfile(); else bo = false; axWindowsMediaPlayer1.currentPlaylist.clear(); openfile(); private void OpenDir_Click(object sender, EventArgs e)/打开文件夹 if (listV

15、iew1.Items.Count != 0) if (MessageBox.Show("你要清空播放列表吗", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Error) = DialogResult.Yes) bo = false; axWindowsMediaPlayer1.currentPlaylist.clear(); listView1.Items.Clear(); openDir(); else bo = false; openDir(); else bo = false; openDir();

16、private void OpenList_Click(object sender, EventArgs e)/打开列表 bo = false; axWindowsMediaPlayer1.currentPlaylist.clear(); listView1.Items.Clear(); OpenFileDialog open=new OpenFileDialog(); open.InitialDirectory="g:" open.Filter="文件列表|*.list" if(open.ShowDialog()=DialogResult.OK) us

17、ing (FileStream fi = new FileStream(open.FileName, FileMode.Open) using (StreamReader Reader = new StreamReader(fi) string line = Reader.ReadLine(); while(line!=null) ListViewItem listit = new ListViewItem(); listit.Text = (listView1.Items.Count + 1).ToString(); listit.SubItems.Add(Path.GetFileName(

18、line); listit.SubItems.Add(line); listView1.Items.Add(listit); line = Reader.ReadLine(); WMPLib.IWMPMedia mp = axWindowsMediaPlayer1.newMedia(line); axWindowsMediaPlayer1.currentPlaylist.appendItem(mp); axWindowsMediaPlayer1.Ctlcontrols.play(); AddList(); bo = true; private void saveList_Click(objec

19、t sender, EventArgs e)/保存文件 if (listView1.Items.Count = 0) MessageBox.Show("播放列表中还没有歌曲"); else bo = false; SaveFileDialog save = new SaveFileDialog(); save.Filter = "文件列表|*.list" if (save.ShowDialog() = DialogResult.OK) using (FileStream fi = new FileStream(save.FileName, FileMod

20、e.Create, FileAccess.Write) using (StreamWriter write = new StreamWriter(fi) for (int i = 0; i < listView1.Items.Count; i+) string st = listView1.Itemsi.SubItems2.Text; write.WriteLine(st); AddList(); bo = true; private void CloseList_Click(object sender, EventArgs e)/清空播放列表 bo = false; if (Messa

21、geBox.Show("你确定要清空列表吗", "提示", MessageBoxButtons.YesNo) = DialogResult.Yes) this.axWindowsMediaPlayer1.currentPlaylist.clear();/清空播放器中的歌曲列表 listView1.Items.Clear(); AddList(); bo = true; private void PlayMp3_Click(object sender, EventArgs e)/播放歌曲 try int m = listView1.Items.Count;

22、 if (m = 0) MessageBox.Show("播放列表中还没有该控件", "提示"); else WMPLib.WMPPlayState wm = axWindowsMediaPlayer1.playState; if (wm != WMPLib.WMPPlayState.wmppsPlaying) axWindowsMediaPlayer1.Ctlcontrols.play(); else MessageBox.Show("当前的歌曲正处于播放状态"); catch (Exception ex) private void

23、 StopMp3_Click(object sender, EventArgs e)/暂停播放 try if (axWindowsMediaPlayer1.currentPlaylist.count = 0) MessageBox.Show("播放列表为空"); else WMPLib.WMPPlayState wm = axWindowsMediaPlayer1.playState; if (wm = WMPLib.WMPPlayState.wmppsPlaying) axWindowsMediaPlayer1.Ctlcontrols.pause(); else Mess

24、ageBox.Show("当前歌曲已经暂停或者停止播放了"); catch (Exception ex) private void Step_Click(object sender, EventArgs e)/停止播放 try if (axWindowsMediaPlayer1.currentPlaylist.count = 0) MessageBox.Show("播放列表为空"); else WMPLib.WMPPlayState wm = axWindowsMediaPlayer1.playState; if (wm = WMPLib.WMPPlay

25、State.wmppsPlaying) axWindowsMediaPlayer1.Ctlcontrols.stop(); else MessageBox.Show("当前歌曲已经暂停或者停止播放了"); catch private void help_Click(object sender, EventArgs e)/帮助窗口 HelpInfo he = new HelpInfo(); he.Show(); private void Up_Click(object sender, EventArgs e)/上一首 axWindowsMediaPlayer1.Ctlcont

26、rols.previous(); huode(); private void Down_Click(object sender, EventArgs e)/下一首 axWindowsMediaPlayer1.Ctlcontrols.next(); huode(); private void listView1_DoubleClick_1(object sender, EventArgs e)/将选择的列表中的歌曲添加到播放列表中去 try if (listView1.Items.Count != 0) int list = listView1.SelectedItems0.Index; WMP

27、Lib.IWMPMedia media = axWindowsMediaPlayer1.currentPlaylist.get_Item(list); axWindowsMediaPlayer1.Ctlcontrols.playItem(media); catch (Exception ex) private void ConOpenAdress_Click(object sender, EventArgs e)/打开列表 try if (listView1.Items.Count = 0) else int inter = listView1.SelectedItems0.Index; if

28、 (inter > listView1.Items.Count) string name = listView1.ItemslistView1.Items.Count.SubItems2.Text; else string st = listView1.SelectedItems0.SubItems2.Text; int str = st.LastIndexOf(''); string stt = st.Substring(0, str); string stfile = st.Substring(str + 2); System.Diagnostics.Process.

29、Start(stt, stfile); catch (Exception ex) private void Saveothre_ButtonClick(object sender, EventArgs e)/文件另存为 FolderBrowserDialog save = new FolderBrowserDialog(); if (save.ShowDialog() = DialogResult.OK) for (int i = 0; i < listView1.Items.Count; i+) string str = listView1.Itemsi.SubItems2.Text;

30、 string st = save.SelectedPath + Path.GetFileName(str); byte btye = new byte1024; int leng = 0; using (FileStream fi = new FileStream(str, FileMode.Open) using (FileStream fil = new FileStream(st, FileMode.Create) while (leng = fi.Read(btye, 0, 1024) != 0) fil.Write(btye, 0, i); /FileInfo fi = new F

31、ileInfo(str); /fi.CopyTo(save.SelectedPath + Path.GetFileName(str), true); save.Dispose(); public void delList()/删除选定歌曲的文件 int intsele = listView1.SelectedItems0.Index; listView1.Items.Remove(listView1.SelectedItems0); WMPLib.IWMPMedia mp3 = axWindowsMediaPlayer1.currentPlaylist.get_Item(intsele); a

32、xWindowsMediaPlayer1.currentPlaylist.removeItem(mp3); listView1.Items.Clear(); for (int i = 0; i < axWindowsMediaPlayer1.currentPlaylist.count; i+) string Str = axWindowsMediaPlayer1.currentPlaylist.get_Item(i).sourceURL; ListViewItem list = new ListViewItem(); list.Text = (listView1.Items.Count + 1).ToString(); list.SubItems.Add(Path.GetFileName(Str); list.SubItems.Add(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论