-
大小: 387KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-05-21
- 语言: C#
- 标签: C# DirectShow 播放器
资源简介
自己用C#写的DirectShow接口实现的媒体播放器,实现了播放、暂停、停止、快进、快退、播放列表、打开文件、将文件夹内所有媒体文件加入播放列表、音量控制、拖动进度条等功能。支持*.mpg;*.avi;*.flv;*.wma;*.mov;*.rmvb;*.asf;*.wav;*.mp2;*.mp3等文件
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuartzTypeLib;
using System.IO;
namespace DSPlayer
{
public partial class Form1 : Form
{
///
/// 必须的设计器变量
///
String fPath;
String fName;
static int WM_APP = 0x8000; //自定义消息起始于WM_APP
static int WM_GRAPHNOTIFY = WM_APP + 1; //私有消息
static int EC_COMPLETE = 0x01; //媒体播放完毕消息
static int WS_CHILD = 0x40000000; //创建一个子窗口。带有此风格的窗口不能带有菜单栏
static int WS_CLIPCHILDREN = 0x2000000;
static FilgraphManager m_objFilterGraph = null;
static IBasicAudio m_objBasicAudio = null;
static IVideoWindow m_objVideoWindow = null;
static IMediaEvent m_objMediaEvent = null;
static IMediaEventEx m_objMediaEventEx = null;
static IMediaPosition m_objMediaPosition = null;
static IMediaControl m_objMediaControl = null;
static IBasicVideo m_objBasicVideo = null;
enum MediaStatus{
NoneStoppedPausedRunning
};
static MediaStatus m_CurrentStatus = MediaStatus.None;
public Form1()
{
InitializeComponent();
}
private void cleanUp() {
if (m_objMediaControl != null)
m_objMediaControl.Stop();
m_CurrentStatus = MediaStatus.Stopped;
if (m_objMediaEventEx != null)
m_objMediaEventEx.SetNotifyWindow(0 0 0);
if (m_objVideoWindow != null)
{
m_objVideoWindow.Visible = 0;
m_objVideoWindow.Owner = 0;
}
if (m_objBasicAudio != null)
m_objBasicAudio = null;
if (m_objFilterGraph != null)
m_objFilterGraph = null;
if (m_objMediaControl != null)
m_objMediaControl = null;
if (m_objMediaEvent != null)
m_objMediaEvent = null;
if (m_objMediaEventEx != null)
m_objMediaEventEx = null;
if (m_objMediaPosition != null)
m_objMediaPosition = null;
if (m_objVideoWindow != null)
m_objVideoWindow = null;
}
private void 打开文件ToolStripMenuItem_Click(object sender EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = “Medie Files|*.mpg;*.avi;*.flv;*.wma;*.mov;*.rmvb;*.asf;*.wav;*.mp2;*.mp3|All Files|*.*“;
if (System.Windows.Forms.DialogResult.OK == openFileDialog.ShowDialog()) {
listBox1.Items.Add(openFileDialog.SafeFileName);
playMedia(openFileDialog.FileName);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 116224 2012-11-17 20:06 DSPla
文件 38400 2012-11-17 20:06 DSPla
文件 11600 2012-11-17 19:04 DSPla
文件 490 2010-03-17 22:39 DSPla
文件 4462 2012-11-16 19:17 DSPla
文件 225 2012-11-16 18:47 DSPla
文件 11596 2012-11-17 20:06 DSPla
文件 22989 2012-11-17 20:06 DSPla
文件 8359 2012-11-17 20:06 DSPla
文件 4440 2012-11-17 15:42 DSPla
文件 6814 2012-11-17 20:06 DSPla
文件 739 2012-11-17 19:04 DSPla
文件 116224 2012-11-17 20:06 DSPla
文件 1205 2012-11-17 20:06 DSPla
文件 38400 2012-11-17 20:06 DSPla
文件 91890 2012-11-16 19:17 DSPla
文件 1562 2012-11-17 20:06 DSPla
文件 630 2012-11-17 20:06 DSPla
文件 8301 2012-11-17 15:57 DSPla
文件 5632 2012-11-16 18:54 DSPla
文件 489 2012-11-16 18:08 DSPla
文件 1348 2012-11-16 18:08 DSPla
文件 4644 2012-11-16 18:54 DSPla
文件 7677 2012-11-16 18:54 DSPla
文件 1093 2012-11-16 18:08 DSPla
文件 249 2012-11-16 18:08 DSPla
文件 9972 2012-11-16 18:54 DSPla
文件 10188 2012-11-16 18:54 DSPla
文件 10029 2012-11-16 18:54 DSPla
文件 9057 2012-11-16 18:54 DSPla
............此处省略18个文件信息
- 上一篇:C# 实现微信企业号的用户发消息和返回消息
- 下一篇:托利多电子称开发下传C#源代码
相关资源
- 托利多电子称开发下传C#源代码
- C# 实现微信企业号的用户发消息和返
- 遗传算法最短路径c#实现
- visual studio c#用于串口上位机 内部有
- C#指纹机考勤查询系统源码
- 用C#实现的tcp聊天程序
- asp.net c#企业信息管理系统
- asp.net 学生信息管理系统源码C#
- c#获取CPU序列号、主板序列号、硬盘
- C# 开发 andriod 环境搭建详细步骤
- C#读取串口数据画图
- C# POP3接收邮件程序(可用)
- ASP.NET车辆管理系统
- C#多线程计算pi
- C#仓库管理系统
- 如鹏网最新.net视频Asp.net Mvc课件
- C# 图片循环滚动
- 植物大战僵尸C#源码mvc
- messageBox居中父窗体
- C#通过串口采集数据,然后将数据点绘
- C#开发之洪水淹没
- C#任务队列的实现
- C#编写的基于串口的Chart数据曲线图
- 学生考试管理系统 附带数据库 基于
- C#从文件路径中取得文件名和扩展名
- C#学生社团管理系统
- C#写性能服务器
- c#基于TCP协议的Socket通信完整实现多人
- C#记事本打开,保存,粘贴,复制等功
- C#自定义控件---实现带行数和标尺的
评论
共有 条评论