winform下的简易播放器
编写这个播放器,遇到很多问题,比如目前只实现了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下的简易播放器的更多相关文章
- FFmpeg简易播放器的实现-视频播放
本文为作者原创:https://www.cnblogs.com/leisure_chn/p/10047035.html,转载请注明出处 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
- FFmpeg简易播放器的实现-音视频同步
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10284653.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
- FFmpeg简易播放器的实现-音频播放
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10068490.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
- FFmpeg简易播放器的实现-最简版
本文为作者原创:https://www.cnblogs.com/leisure_chn/p/10040202.html,转载请注明出处 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
- <Win32_17>集音频和视频播放功能于一身的简易播放器
前段时间,在学习中科院杨老师的教学视频时,他说了一句话: "我很反对百八十行的教学程序,要来就来一个完整的程序" 对此,我很是赞同.所谓真刀真枪的做了,你才会发现其中的奥秘——然而 ...
- ubuntu 下命令行播放器mplayer 使用详解
ubuntu 下命令行播放器mplayer 使用详解 2011-01-02 21:00:42| 分类: Linux/Unix | 标签: |字号大中小 订阅 使用 MPlayer 播放媒体文件最简 ...
- FFmpeg简易播放器的实现-音视频播放
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10235926.html 基于FFmpeg和SDL实现的简易视频播放器,主要分为读取视频文 ...
- mplayer - Linux下的电影播放器
概要 mplayer [选项] [ 文件 | URL | 播放列表 | - ] mplayer [全局选项] 文件1 [特定选项] [文件2] [特定选项] mplayer [全局选项] {一组文件和 ...
- Opencv实现简易播放器
实现了在MFC中显示图片,再要显示一个视频就是轻而易举的事了,本篇介绍使用Opencv制作一个简易的播放器,实现打开文件.暂停.继续播放.再次播放和总\当前帧数显示功能. 首先还是先看一下界面效果: ...
随机推荐
- 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 ...
- c#过滤html标签
public string HtmlFilter(string html) { //设置要删除的标记 string[] lable = { "font ...
- [每日一记] Python报错 IndentationError: unexpected indent
IndentationError: unexpected indent 代码缩进出现错误 今天这个报错的原因是,早些时候的代码里Tab和空格混起来用了,,,[不是我...是编辑器的锅 不过我已经把Su ...
- using 声明与编译指令
using std::cout; // using 声明 using namespace std; // using 编译指令,导入std里面的所有名称 一般使用using 声明,它只会导入指定的名称 ...
- Javascript模块化编程(三):require.js的用法
Javascript模块化编程(三):require.js的用法 原文地址:http://www.ruanyifeng.com/blog/2012/11/require_js.html 作者: 阮一峰 ...
- 使用Ruby来实现批量更新AD中字段
准备工作 安装需要用到的gem gem install net-ldap gem install roo 准备好要更新的数据,比如exel表: /root/account.xlsx,内容如下 姓名 性 ...
- leveldb 性能、使用场景评估
最近有个业务写远远大于读,读也集中在最近写入,这不很适合采用leveldb存储么,leveldb业界貌似ssdb用得挺广,花了两天时间就ssdb简单做下测试,以下总结. ssdb 是leveldb的r ...
- [转载]python property
@property 简单解释. http://python.jobbole.com/80955/
- XUT 1245
这是一道2016湘潭邀请赛的题目,记得那个时候看到这个题目就想到了最短生成树,然后给别人做,WA了,最后发现是有向图,然后我自己去写了个搜索,结果是RE吧 今天刚刚好想到这个题目,然后再来做,发现这个 ...
- 还敢说你是程序员?一律师闲着没事写了个app,用户量600万
今天周五,是我在上海上班的第五天. 这几天怎么说呢,跟混日子差不多,因为处处有“”惊喜”. 上班第一天领来办公电脑,登上自己的公司邮箱,惊喜来了!我的擦擦擦,全TM是英文呐!作为一个从村儿里来的码农, ...