黑马程序员技术交流社区

标题: 给大家分享个我自己写的播放器 [打印本页]

作者: cancle    时间: 2014-3-15 09:35
标题: 给大家分享个我自己写的播放器
本帖最后由 cancle 于 2014-3-15 09:37 编辑
  1. public Form1()
  2.         {
  3.             InitializeComponent();
  4.         }
  5.         string appPath = Environment.CurrentDirectory;
  6.         private void Form1_Load(object sender, EventArgs e)
  7.         {
  8.             labtime.Text = DateTime.Now.ToString();
  9.             //pictureBox1.Image = Image.FromFile(@"D:\照片\DCIM\13070126.jpg");
  10.             panel1.Visible = true;
  11.             panel2.Visible = false;
  12.             
  13.         }

  14.         private void button1_Click(object sender, EventArgs e)
  15.         {
  16.             panel1.Visible = false;
  17.         }

  18.         private void button3_Click(object sender, EventArgs e)
  19.         {
  20.             panel2.Visible = false;
  21.         }

  22.         private void 显示播放列表ToolStripMenuItem_Click(object sender, EventArgs e)
  23.         {
  24.             if(显示播放列表ToolStripMenuItem.Text == "☆显示播放列表")
  25.             {
  26.                 panel1.Visible = true;
  27.             }
  28.             else
  29.             {
  30.                 panel1.Visible = false;
  31.             }
  32.             
  33.         }

  34.         private void 清空当前播放列表ToolStripMenuItem_Click(object sender, EventArgs e)
  35.         {
  36.             listBox1.Items.Clear();
  37.         }

  38.         private void timer1_Tick(object sender, EventArgs e)
  39.         {
  40.             labtime.Text = DateTime.Now.ToString();
  41.             if (panel1.Visible == true)
  42.             {
  43.                 显示播放列表ToolStripMenuItem.Text = "★取消播放列表";
  44.             }
  45.             else
  46.             {
  47.                 显示播放列表ToolStripMenuItem.Text = "☆显示播放列表";
  48.             }
  49.             if(panel2.Visible==true)
  50.             {
  51.                 显示文本ToolStripMenuItem.Text= "▲隐藏文本";
  52.             }
  53.             else
  54.             {
  55.                 显示文本ToolStripMenuItem.Text = "△显示文本";
  56.             }
  57.         }

  58.         private void 显示文本ToolStripMenuItem_Click(object sender, EventArgs e)
  59.         {
  60.             if(显示文本ToolStripMenuItem.Text == "△显示文本")
  61.             {
  62.                 panel2.Visible = true;
  63.             }
  64.             else
  65.             {
  66.                 panel2.Visible = false;
  67.             }
  68.         }
  69.         List<string> list = new List<string>();//存放歌曲路径
  70.         private void btnMusic_Click(object sender, EventArgs e)
  71.         {
  72.             OpenFileDialog ofd = new OpenFileDialog();
  73.             ofd.Title = "请选择你要添加的歌曲";
  74.             ofd.InitialDirectory = @"C:\Users\Administrator\Desktop";
  75.             ofd.Multiselect = true;
  76.             ofd.Filter = "音乐文件|*.mp3";
  77.             ofd.ShowDialog();
  78.             string[] str = ofd.FileNames;
  79.             if(str==null)
  80.             {
  81.                 return;
  82.             }
  83.             list.AddRange(str);
  84.             for (int i = 0; i < str.Length; i++)
  85.             {
  86.                 listBox1.Items.Add(Path.GetFileName(str[i]));
  87.             }

  88.         }

  89.         private void btnText_Click(object sender, EventArgs e)
  90.         {
  91.             OpenFileDialog ofd = new OpenFileDialog();
  92.             ofd.Title = "请选择你要打开的文档";
  93.             ofd.InitialDirectory = @"C:\Users\Administrator\Desktop";
  94.             ofd.Filter = "文本文件|*.txt";
  95.             ofd.ShowDialog();
  96.             string str = ofd.FileName;
  97.             if(str=="")
  98.             {
  99.                 return;
  100.             }
  101.             using(FileStream fsRead=new FileStream(str,FileMode.OpenOrCreate,FileAccess.Read))
  102.             {
  103.                 byte[] buffer = new byte[1024 * 1024 * 5];
  104.                 int val = fsRead.Read(buffer, 0, buffer.Length);
  105.                 textBox1.Text = Encoding.Default.GetString(buffer, 0, val);
  106.             }
  107.             MessageBox.Show("打开完成");
  108.             panel2.Visible = true;
  109.         }

  110.         private void 清除文本ToolStripMenuItem_Click(object sender, EventArgs e)
  111.         {
  112.             textBox1.Clear();
  113.             textBox1.Focus();
  114.         }

  115.         private void 更换背景图片ToolStripMenuItem1_Click(object sender, EventArgs e)
  116.         {
  117.             OpenFileDialog ofd = new OpenFileDialog();
  118.             ofd.Title = "请选择你要设置的背景图片";
  119.             ofd.InitialDirectory = @"C:\Users\Administrator\Desktop";
  120.             ofd.Filter = "图片文件|*.jpg|所有文件|*.*";
  121.             ofd.ShowDialog();
  122.             string str = ofd.FileName;
  123.             if(str=="")
  124.             {
  125.                 return;
  126.             }
  127.             pictureBox1.Image = Image.FromFile(str);
  128.         }

  129.         private void 关于xBox10ToolStripMenuItem_Click(object sender, EventArgs e)
  130.         {
  131.             MessageBox.Show("名称:MusicBox\r\n版本:1.0\r\n最终解释权归宇星所有。");
  132.         }

  133.         private void listBox1_DoubleClick(object sender, EventArgs e)
  134.         {
  135.             Music.URL = list[listBox1.SelectedIndex];
  136.         }

  137.         private void 保存文本ToolStripMenuItem_Click(object sender, EventArgs e)
  138.         {
  139.             SaveFileDialog sfd = new SaveFileDialog();
  140.             sfd.Title = "请选择要保存的路径";
  141.             sfd.InitialDirectory = @"C:\Users\Administrator\Desktop";
  142.             sfd.Filter = "文本文件|*.txt";
  143.             sfd.ShowDialog();
  144.             string str = sfd.FileName;
  145.             if (str == "")
  146.             {
  147.                 return;
  148.             }
  149.             using(FileStream fsWrite=new FileStream(str,FileMode.OpenOrCreate,FileAccess.Write))
  150.             {
  151.                 byte[] buffer = Encoding.Default.GetBytes(textBox1.Text);
  152.                 fsWrite.Write(buffer,0,buffer.Length);
  153.             }
  154.             MessageBox.Show("保存成功");
  155.         }  
复制代码

播放器.zip (1.63 MB, 下载次数: 121)

如图

后面会附上部分代码,这是文件http://bbs.itheima.com/forum.php?mod=attachment&aid=MzYzODB8NzUxYjhlMDE5N2FmNTdmMzY5NGNmZTM1NzY4MGUzZDB8MTczMTI5ODQxOA%3D%3D&request=yes&_f=.zip


作者: 鬼鬼    时间: 2014-3-15 15:24
恭喜楼主终于成功啦!
另:
1.其实楼主只需要把“AxInterop.WMPLib.dll”“Interop.WMPLib.dll”“音乐播放器.exe”这三个文件打包,程序就可以运行了。
2.提个建议:楼主为了界面美观设置了窗口大小不可改,却忘了禁用最大化按钮……
3.其实固定窗口尺寸并不是最好的选择,楼主感兴趣的话可以看看WPF方面的东西,它对界面元素的处理方法还是挺不错的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2