C# 音乐播放器的设计
来源:互联网 发布:铜陵网络买花花店 编辑:程序博客网 时间:2024/06/05 10:51
微软提供的播放器:
组件:右键(选择项)----COM组件-----Window Media Player
url:播放的地址
菜单与工具栏:contextMenuStrip1:添加右键菜单
// 完成了一个音乐播放器的设计:可以完成:播放、暂停、停止、上一首、下一首、打开文件、右键删除所选中的文件、静音
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace revieve{ public partial class playbutton : Form { public playbutton() { InitializeComponent(); } List<string> ls = new List<string>(); private void button1_Click(object sender, EventArgs e) { MusicPlayer.Ctlcontrols.play();//播放音乐,一个属性 } private void waitbutton_Click(object sender, EventArgs e) { MusicPlayer.Ctlcontrols.pause(); } private void stopbutton_Click(object sender, EventArgs e) { MusicPlayer.Ctlcontrols.stop(); } private void playbutton_Load(object sender, EventArgs e) { //程序默认打开时自动播放 string str = @"D:\viang\桌面\a.avi"; // MusicPlayer.URL = @"E:\language\C#\wweavi"; MusicPlayer.settings.autoStart = false;//关掉 // MusicPlayer.URL = @"D:\viang\桌面\a.avi"; label1.Image = Image.FromFile(@"D:\viang\桌面\before.png"); //将这个label用图片填充 //label2.Image = Image.FromFile(@"D:\viang\桌面\字符串.png"); } bool pauseToPlay = true; private void butPlayorPause_Click(object sender, EventArgs e) { if (butPlayorPause.Text == "播放") { if (pauseToPlay) { MusicPlayer.URL = ls[MusListBox.SelectedIndex]; } //获得选中的歌曲,来实现:当选中某收歌时,单击播放按钮,可以播放 MusicPlayer.Ctlcontrols.play(); butPlayorPause.Text = "暂停"; } else { MusicPlayer.Ctlcontrols.pause(); butPlayorPause.Text = "播放"; pauseToPlay = false; } } private void butStop_Click(object sender, EventArgs e) { MusicPlayer.Ctlcontrols.stop(); butPlayorPause.Text = "播放"; } /// <summary> /// 打开对话框 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void butOpen_Click(object sender, EventArgs e) { OpenFileDialog of = new OpenFileDialog(); of.InitialDirectory = @"D:\vitang\桌面"; //默认初始打开文件的路径 of.Filter = "音乐文件|*.avi|Mp3文件|*.mp3|所有文件|*.*"; // 下面显示文件打开的类型 of.Title = "请选择你要打开的文件";// 打开对话框中上面显示的内容 of.Multiselect = true; // 运行多选 of.ShowDialog();//将设计好的对话框展示出来 string[] musics = of.FileNames;//获得在文件框中选择的全部文件的全路径 // 将文件名存放到listbox中,将全路径存放到泛型 for (int i = 0; i < musics.Length; i++) { if (ls.Contains(musics[i])) { continue; } ls.Add(musics[i]); MusListBox.Items.Add(Path.GetFileName(musics[i])); } } /// <summary> /// 双击播放对应的事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MusListBox_DoubleClick(object sender, EventArgs e) { if (MusListBox.Items.Count <= 0) { MessageBox.Show("请首先选择音乐文件"); return; } try { MusicPlayer.URL = ls[MusListBox.SelectedIndex]; MusicPlayer.Ctlcontrols.play(); butPlayorPause.Text = "暂停"; //labInformation.Text = MusicPlayer.currentMedia .duration .ToString(); } catch { } } /// <summary> /// 实现切换到上一首 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button2_Click(object sender, EventArgs e) { try { int newindex = MusListBox.SelectedIndex; MusListBox.SelectedIndices.Clear(); newindex--; if (newindex < 0) { newindex = MusListBox.Items.Count-1; //count是歌曲的数目,不是下标 } MusicPlayer.URL = ls[newindex]; MusListBox.SelectedIndex = newindex; MusicPlayer.Ctlcontrols.play(); } catch { } } /// <summary> /// 下一首 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button3_Click(object sender, EventArgs e) { int index = MusListBox.SelectedIndex;//当前选中的项 MusListBox.SelectedIndices.Clear(); index++; if (index == MusListBox.Items.Count) { index = 0; } MusListBox.SelectedIndex = index; MusicPlayer.URL = ls[index]; MusicPlayer.Ctlcontrols.play(); } /// <summary> /// 删除某些选中的项:先删集合再删列表 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 删除ToolStripMenuItem_Click(object sender, EventArgs e) { // 先获得要删除的列表的数量 int index = MusListBox.SelectedItems.Count ; for (int i = 0; i < index;i++ ) { ls.RemoveAt(MusListBox.SelectedIndex ); // 根据列表中的索引项进行删除,索引后删列表 MusListBox.Items.RemoveAt(MusListBox.SelectedIndex); } } /// <summary> /// 点击放音或者静音 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void label1_Click(object sender, EventArgs e) { if(label1.Tag .ToString ()=="1") { MusicPlayer.settings.mute = true; //静音 label1.Tag = "2"; label1.Image = Image.FromFile(@"D:\vivien.tang\桌面\字符串.png"); } else { MusicPlayer.settings.mute = false; //静音 label1.Tag = "1"; label1.Image = Image.FromFile(@"D:\vivien.tang\桌面\before.png"); } } private void labInformation_Click(object sender, EventArgs e) { } }}
阅读全文
0 0
- C# 音乐播放器的设计
- 音乐循环播放器的PCB设计
- Android音乐播放器的设计
- QT5简易音乐播放器的设计
- 4Qt音乐播放器的设计
- android 音乐播放器中播放模式的设计
- C#全能音乐播放器
- 基于C#的最简单的音乐播放器
- 简单的音乐播放器(C# 源码+图)
- C#写的一款音乐播放器+源代码下载
- 功能齐全界面漂亮的c#音乐播放器
- 功能齐全界面漂亮的c#音乐播放器
- 【android】音乐播放器之UI设计的点点滴滴
- Android音乐播放器的缓存机制设计
- 使用Audio API设计绚丽的HTML5音乐播放器
- C#播放音乐的四种方法
- C#播放音乐的5种方式
- C# WinForm 音乐播放器源码
- 拦截器与过滤器的区别
- java基础知识(System.currentTimeMillis())
- 解决办法: Cannot resolve the collation conflict between "Japanese_CI_AS" and "SQL_...
- 缺省Servlet缓存问题
- FGD(三)
- C# 音乐播放器的设计
- 【Linux】IPC通信之信号量
- 深入理解MVC
- intel SSE AVX资料
- 你的文件你来掌控【巴别鸟Web 4.2版更新】
- 直播技术点整理-链接
- 1
- scrapy框架半自动处理验证码豆瓣网模拟登陆
- [Hackerrank题目选做] Team Formation 贪心