编写这个播放器,遇到很多问题,比如目前只实现了wav音频文件的播放,而对于这个图中中间所标注的按钮

不能实现让其暂停的功能,同时当点击的时候,让其文本变为"▷",对于这部分功能不知道选定该按钮时的属性是

如何,所以还需继续完善

播放器代码
 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Media;
using System.IO; namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ }
List<string> listSongs = new List<string>();//定义存储歌名的路径泛型变量
private void button5_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "请选择音频文件";
ofd.InitialDirectory =@"F:\wav_music";
ofd.Filter="音频文件|*.wav|所有文件|*.*";
ofd.Multiselect=true;//多选设置
ofd.ShowDialog();
string[] path = ofd.FileNames;//获取音频文件的全路径
for (int i = ; i < path.Length; i++)
{
listBox1.Items.Add(Path.GetFileName(path[i]));//将获取到的文件路径截取文件名并添加到listbox中
listSongs.Add(path[i]);//将路径添加到list集合当中 } }
/// <summary>
/// 双击播放音乐方法。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param> private void listBox1_DoubleClick(object sender, EventArgs e)
{
SoundPlayer sp = new SoundPlayer();//
sp.SoundLocation = listSongs[listBox1.SelectedIndex];
sp.Play();
}
/// <summary>
/// 播放下一首
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param> private void button4_Click(object sender, EventArgs e)
{
//获取当前所选定的音乐项
int index = listBox1.SelectedIndex;
index++;
SoundPlayer sp = new SoundPlayer();
if (index ==listSongs.Count)
{ index = ;
}
listBox1.SelectedIndex = index;//将索引重新赋值给listbox选定。
sp.SoundLocation = listSongs[index];
sp.Play(); }
/// <summary>
/// 播放上一首
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param> private void button2_Click(object sender, EventArgs e)
{
//获取当前所选定的音乐项
int index = listBox1.SelectedIndex;
index--;
SoundPlayer sp = new SoundPlayer();
if (index == )
{
index = listSongs.Count - ;
}
listBox1.SelectedIndex = index;
sp.SoundLocation = listSongs[index];
sp.Play(); }
}
}

winform下的简易播放器的更多相关文章

  1. FFmpeg简易播放器的实现-视频播放

    本文为作者原创:https://www.cnblogs.com/leisure_chn/p/10047035.html,转载请注明出处 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...

  2. FFmpeg简易播放器的实现-音视频同步

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10284653.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...

  3. FFmpeg简易播放器的实现-音频播放

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10068490.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...

  4. FFmpeg简易播放器的实现-最简版

    本文为作者原创:https://www.cnblogs.com/leisure_chn/p/10040202.html,转载请注明出处 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...

  5. <Win32_17>集音频和视频播放功能于一身的简易播放器

    前段时间,在学习中科院杨老师的教学视频时,他说了一句话: "我很反对百八十行的教学程序,要来就来一个完整的程序" 对此,我很是赞同.所谓真刀真枪的做了,你才会发现其中的奥秘——然而 ...

  6. ubuntu 下命令行播放器mplayer 使用详解

    ubuntu 下命令行播放器mplayer 使用详解 2011-01-02 21:00:42|  分类: Linux/Unix |  标签: |字号大中小 订阅 使用 MPlayer 播放媒体文件最简 ...

  7. FFmpeg简易播放器的实现-音视频播放

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10235926.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...

  8. mplayer - Linux下的电影播放器

    概要 mplayer [选项] [ 文件 | URL | 播放列表 | - ] mplayer [全局选项] 文件1 [特定选项] [文件2] [特定选项] mplayer [全局选项] {一组文件和 ...

  9. Opencv实现简易播放器

    实现了在MFC中显示图片,再要显示一个视频就是轻而易举的事了,本篇介绍使用Opencv制作一个简易的播放器,实现打开文件.暂停.继续播放.再次播放和总\当前帧数显示功能. 首先还是先看一下界面效果: ...

随机推荐

  1. file xxx from install of xxx conflicts with file from xxx

    执行安装 rpm -ivh lib64stdc++6-4.6.1-2-mdv2011.0.x86_64.rpm 时提示以下错误: warning: lib64stdc++6-4.6.1-2-mdv20 ...

  2. c#过滤html标签

    public string HtmlFilter(string html)     {         //设置要删除的标记         string[] lable = { "font ...

  3. [每日一记] Python报错 IndentationError: unexpected indent

    IndentationError: unexpected indent 代码缩进出现错误 今天这个报错的原因是,早些时候的代码里Tab和空格混起来用了,,,[不是我...是编辑器的锅 不过我已经把Su ...

  4. using 声明与编译指令

    using std::cout; // using 声明 using namespace std; // using 编译指令,导入std里面的所有名称 一般使用using 声明,它只会导入指定的名称 ...

  5. Javascript模块化编程(三):require.js的用法

    Javascript模块化编程(三):require.js的用法 原文地址:http://www.ruanyifeng.com/blog/2012/11/require_js.html 作者: 阮一峰 ...

  6. 使用Ruby来实现批量更新AD中字段

    准备工作 安装需要用到的gem gem install net-ldap gem install roo 准备好要更新的数据,比如exel表: /root/account.xlsx,内容如下 姓名 性 ...

  7. leveldb 性能、使用场景评估

    最近有个业务写远远大于读,读也集中在最近写入,这不很适合采用leveldb存储么,leveldb业界貌似ssdb用得挺广,花了两天时间就ssdb简单做下测试,以下总结. ssdb 是leveldb的r ...

  8. [转载]python property

    @property 简单解释. http://python.jobbole.com/80955/

  9. XUT 1245

    这是一道2016湘潭邀请赛的题目,记得那个时候看到这个题目就想到了最短生成树,然后给别人做,WA了,最后发现是有向图,然后我自己去写了个搜索,结果是RE吧 今天刚刚好想到这个题目,然后再来做,发现这个 ...

  10. 还敢说你是程序员?一律师闲着没事写了个app,用户量600万

    今天周五,是我在上海上班的第五天. 这几天怎么说呢,跟混日子差不多,因为处处有“”惊喜”. 上班第一天领来办公电脑,登上自己的公司邮箱,惊喜来了!我的擦擦擦,全TM是英文呐!作为一个从村儿里来的码农, ...