开始项目
在安装必要软件并注册 QuartzTypeLib之后,您就可以启动 Visual C#,开始为示例应用程序创建项目。下面我将给大家介绍这一过程的操作步骤。
创建项目
按以下步骤创建一个空的项目:
1. 启动 Visual Studio .NET,然后单击 New Project(新建项目)。
2. 在 Visual C# Projects(Visual C# 项目)文件夹中单击 Windows Application(Windows 应用程序),键入新项目的名称(最好为 DirectShow),然后单击 OK(确定)。
Visual C# 使用默认的 Windows 窗体“Form1”创建一个新的项目。
3. 这个名称并没有特别的意义或用处,所以请在 Properties(属性)窗口中将窗体名称更改为 frmPlayMedia,将窗体文本更改为“媒体播放器”。
在项目中添加对 DirectShow的引用
按照以下步骤在项目中添加一个对 DirectShow的引用:
1. 打开 Visual Studio 工具箱,然后单击 Components(组件)显示该面板。
2. 右击面板,然后单击 Customize Toolbox(自定义工具箱),显示对话框。
3. 在 COM Components(COM 组件)选项卡上,选中 Interop.QuartzTypeLib.dll。(如果 Interop.QuartzTypeLib.dll 由于某种原因未列出,则单击 Browse [浏览] 并查找名为 QuartzTypeLib.dll的文件。)
4. 单击 OK(确定)关闭对话框。
图 2
要在代码中使用 DirectShow,您需要添加一行代码,以引用 DirectShow命名空间。在窗体代码窗口的顶部,将以下代码添加到所有声明语句之前:
using QuartzTypeLib;
using语句必须在所有 Options 语句(本项目中并未使用)之后,并且在所有其他代码之前。添加该语句后。
开发应用程序
创建通过 PIA 与 Framework 连接的 Player 控件实例之后,您可以向窗体中添加所需的其他元素,并编写完成实际操作的代码。
添加 Windows 窗体控件
1. 在 View(视图)菜单中,单击 Designer(设计器),或者单击 Solution Explorer(解决方案资源管理器)中的 View Designer(视图设计器)按钮,切换到窗体设计器。
2. 在窗体上增加文件、播放、信息等菜单。
3. 在工具箱的 Windows Forms(Windows 窗体)面板中,为您的窗体添加一个工具栏、一个状态栏和图片imageList。
4. 在 Properties(属性)窗口中,将工具栏的名称更改为 toolBar1,将在Buttons上增加4个按钮。状态栏的名称更改为 statusBar1,并分别增加三个Panel。
5. 在工具箱的面板中,为您的窗体添加一个面版panel1。
6. 增加一个定时器timer1。
7. 调整控件在窗体中的排列方式,使之符合您的需要而且方便用户使用。下图为 Visual Studio Designer(设计器)中完成后的窗体布局。
图 3
编写代码
如何打开你想要媒体文件?
第一步是编写在 frmPlayMedia中打开 Windows Media 文件的代码。要自动切换到 Code(代码)视图并编辑打开菜单的 Click 事件处理程序 (menuItem2_Click) 的代码,请双击窗体上的“工具栏”按钮。将以下代码添加到事件处理程序中:
还记得吗"文件 -> 打开" 是的几乎每个使用windows的人都会这样操作.如何实现?
很简单看看下面的代码:
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Filter = "Media Files|*.mpg;*.avi;*.wma;*.mov;*.wav;*.mp2;*.mp3|All Files|*.*";
if (DialogResult.OK == openFileDialog.ShowDialog())
{
….
}
看吧很简单是吗?记得写一个函数把它放进去。当你点击OK按钮的时候,DirectShow接口就会得到你想要播放的文件。下图解释了它是如何工作的。
DirectShow为多媒体流回放提供最基本的服务,这些多媒体流可以是本地文件,还可以是服务