用C#打造自己的播放器
来源:互联网 发布:数据库逻辑模型独立与 编辑:程序博客网 时间:2024/05/01 20:24
您也可以去米鱼空间浏览 http://user.qzone.qq.com/120401332/blog/1273331343
最近电脑很奇怪,好多播放器使用不了,于是一时兴起借用了PPS的播放组件给自己做了个简单的播放器,照样可以看电影,看视频。
下面我来介绍一下我的制作过程。
首先,在vs2008环境(我个人用的这个版本)中建一个windows窗口项目,名字自己定,好了之后打开工具箱,添加控件。步骤是:右击工具箱--选择项--com组件 在里面找到PowerPlayer Control点击确定(注意:为什么我的电脑里面没有这个控件呢?去这里看看上面是com组件http://baike.baidu.com/view/185316.htm?fr=ala0_1 解决方法就是先在别人电脑上烤一个PPS或者自己安装一个,最好自己先安装一个,组件会自动注册到VS2008中),接着就是将组件添加到窗体中,我们发现,并没有控制按钮,这时候去改一下属性ShowControl,将它设置成True就能看到下面的控制按钮区了,其它的属性可以一个一个的试试,看看是什么效果,这里我就不多说了。
接着我们要做一个播放列表,同样,在窗体的边上可以放一个Listbox控件,在添加一个菜单,菜单项设置简单一点的,我们看电影经常用到的也就是添加文件列表,控制一下播放,那就添加一个文件菜单和播放菜单,菜单项是文件>>打开、添加文件列表、退出,播放>>播放/暂停、上一首、下一首、全屏、置顶。
上面这些都做好了我们就要来实现它的功能了,首先我们看一下添加播放列表的功能,刚才我在文件菜单下添加了打开和添加文件列表,打开就是打开我们指定的唯一个文件进行播放,而添加文件列表就是添加多个文件到播放列表。下面代码就是实现添加单个文件,需要的控件有OpenFileDialog。
在添加文件之前我们先要listbox控件实现一个可以动态增加的数组类,要先添加一个类,ArrayList files 解释( http://msdn.microsoft.com/zh-cn/library/system.collections.arraylist(VS.90).aspx) 使用大小可按需动态增加的数组实现IList 接口。它的名词空间是using System.Collections;
ArrayList files = new ArrayList();
单个文件添加。
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog dd = new OpenFileDialog();
dd.Filter = "影视文件(*.rmvb;*.avi;*.wmv;*.dat;*.mpg;*.mpeg;*.mov;*.wm;*.wma)|*.rmvb;*.avi;*.wmv;*.dat;*.mpg;*.mpeg;*.mov;*.wm;*.wma|所有文件(*.*)|*.*";
dd.ShowDialog();
for (int i = 0; i < dd.FileNames.Length; i++)
{
files.Add(dd.FileNames[i]);
int filenameIndex = dd.FileNames[i].LastIndexOf("//");
string filename = dd.FileNames[i].Substring(filenameIndex + 1);
listBox1.Items.Add(filename);
}
}
添加多个文件就是将OpenFileDialog的Multiselect属性的值设置成True,也就是允许选择多个文件,这样,我们就已经实现了添加文件列表的功能了。接着我们要做的是双击列表中的文件就去播放它,这才是问题的关键所在。
PPS播放组件PowerPlayer Control要播放文件首先要给它指定这个文件的位置,也就是文件地址,在C#中PowerPlayer Control的名字默认为axPowerPlayer1,它有一个属性src,用它就可以实现指定文件的播放了,axPowerPlayer1播放的时候要用到一个方法 Play() ,给listbox定义一个双击事件,代码如下。
private void listBox1_DoubleClick(object sender, EventArgs e)
{
axPowerPlayer1.src = Convert.ToString(files[listBox1.SelectedIndex]);
axPowerPlayer1.Play();
}
这样就实现了指定文件的播放,那我们的播放器已经完成了80%了,下面的代码主要是刚才菜单 播放 中的,
播放/暂停 功能
int pusest = axPowerPlayer1.Pause();这里的1是暂停 否则就是播放
if (pusest == 1) 播放
else 暂停
if,else的判断内容可以自定。
上一首/下一首 功能(这里是 上一首 的功能)
if (listBox1.SelectedIndex < listBox1.Items.Count) (注意:如果Count - 1 那就是下一首)
{
listBox1.SelectedIndex--;
}
else
{
listBox1.SelectedIndex = 0;
}
axPowerPlayer1.src = Convert.ToString(files[listBox1.SelectedIndex]);
axPowerPlayer1.Play();
全屏播放功能很简单,就是就是将axPowerPlayer1的SetFullScreen属性设置成 (1);
axPowerPlayer1.SetFullScreen(1);
置顶功能
if (窗口置顶DToolStripMenuItem.Text == "窗口置顶")
{
this.TopMost = true;
窗口置顶DToolStripMenuItem.Text = "取消置顶";
}
else
{
this.TopMost = false;
窗口置顶DToolStripMenuItem.Text = "窗口置顶";
}
好了,我就介绍到这里,剩下一下功能大家可以尝试着做,比如说打开和关闭播放列表的功能,清空列表,删除选定文件等等,还有设置播放模式的功能。
当然,上面我所讲的也有好多不到位或者不正确的地方,希望大家能够指出来,有助我改正,有助于大家学习。
这里我提供源码下载,大家可以下载拿去看看 我的播放器源码.rar
效果图
- 用C#打造自己的播放器
- 用delphi打造属于自己的播放器
- 用vitamio打造自己的视频播放器
- Vitamio 打造自己的万能播放器
- 用C#打造自己的实体转换器
- 用C#打造自己的实体转换器
- 利用mediaplayer打造自己的mp3播放器
- 利用mediaplayer打造自己的mp3播放器
- 利用mediaplayer打造自己的mp3播放器续
- 使用Vitamio打造自己的Android万能播放器
- 使用Vitamio打造自己的Android万能播放器
- 使用Vitamio打造自己的Android万能播放器
- 使用Vitamio打造自己的Android万能播放器
- 使用Vitamio打造自己的Android万能播放器
- 使用Vitamio打造自己的Android万能播放器
- Android视频框架 Vitamio 打造自己的万能播放器
- Android视频框架 Vitamio 打造自己的万能播放器
- Android视频框架 Vitamio 打造自己的万能播放器
- QT 常用问题解答(转)
- Caused by: java.sql.BatchUpdateException:
- Human Gene Functions(POJ1080)
- 大数据插入类-System.Data.SqlClient.SqlBulkCopy
- 5.8日志
- 用C#打造自己的播放器
- Linux软件安装常用方法
- 高性能计算
- 计算机图书赠送
- 使用Forms Authentication实现用户注册、登录 (一)基础知识
- 经典冷笑话
- magento -- 计划任务(cron job)在magento中的作用和使用教程
- 有序选择L长度排列
- eval的使用收集