摘要:了解如何在 Microsoft Visual C# .NET 中使用 DirectShow 控件,如何开发一个媒体播放器。按照本文介绍的操作步骤,您可以创建一个简单 Visual C# 应用程序,用来播放数字音频和视频。
简介 Microsoft Visual C# 是世界上最流行的编程语言,利用 Visual C# 的最新版本 Visual C# .NET,您能够快速、有效地开发基于 Windows 窗体的应用程序,还可以为嵌入了 Microsoft Windows Media? Player 9 Series ActiveX 控件的应用程序添加新鲜、有趣而又非常实用的功能。
DirectShow 控件是一个标准的 ActiveX 控件,提供了大量的功能。DirectShow控件提供的功能包括:
· 数字媒体文件和流媒体的高级播放功能。
· 使用播放列表的功能。
· 播放 DVD 和 CD 的功能。
· 访问 Windows Media Player 中的 Media Library(媒体库)。
· 处理元数据的功能。
· 支持字幕。
· 支持多种语言的音频。
· 控制网络连通性和访问相关统计信息的功能。
下面我们来看看构造这个媒体播放器要达到什么样的目标,确定了目标也就确定了代码量和程序的复杂程度。本文的媒体播放器要达到如下目标:
· 是一个菜单驱动的简单AWT应用。
· 包含一个“文件”菜单,文件菜单包含三个菜单项:
· “打开”,用来打开媒体文件。
· “循环”,是播放一次(默认),还是重复播放。
· “退出”,退出程序。
· 可以在多种平台上运行。
· 核心功能通过JMF(Java Media Framework)API实现。
按照本文介绍的步骤,您将创建一个基于 Windows 窗体的基本应用程序,并在其中嵌入 Player 控件。您创建的示例应用程序具有如下特点:
· 创建 DirectShow 控件的一个实例。
· 利用 Windows Media Player 主互操作程序集提供组件对象模型 (COM) 互操作性。
· 允许用户打开并播放 Windows Media 文件,尤其是文件扩展名为 .wma 或 .wmv 的文件。
· 创建供用户播放、暂停和停止数字媒体内容的传输控制按钮。
· 显示当前数字媒体文件的标题。
· 演示如何使用 Player 对象模型,包括使用属性、方法和事件的示例。
我的这个程序仅仅只是告诉大家如何用DirectShow 在C#中做一个播放机,
在这个程序中我们经要解决的一些小问题:
1.如何从你的磁盘上打开媒体文件
2.如何让工具条上的按钮起用和禁用
3.如何设置状态栏的显示文字
4.如何控制时间
5.如何使用时间控件的事件
6.如何用DirectShow来播放媒体文件
7.如何确定播放状态等等...
下图显示了您将要创建的应用程序,其中正在播放名为“Melow”的数字音频文件,同时呈现了可视化效果。
图 1 |
· 本文假设您已经具备一定的 Visual C# 和 Visual Studio.NET 集成开发环境知识。