Chinaunix首页 | 论坛 | 博客
  • 博客访问: 735427
  • 博文数量: 769
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4985
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:37
文章分类

全部博文(769)

文章存档

2011年(1)

2008年(768)

我的朋友

分类:

2008-10-15 16:40:54

Microsoft Visual 是世界上最流行的编程语言,利用 Visual 的最新版本 Visual .NET,您能够快速、有效地开发基于 窗体的应用程序,还可以为嵌入了 Microsoft Media? Player 9 Series ActiveX 控件的应用程序添加新鲜、有趣而又非常实用的功能。

  DirectShow 控件是一个标准的 ActiveX 控件,提供了大量的功能。DirectShow控件提供的功能包括:

  · 数字媒体文件和流媒体的高级播放功能。     

  · 使用播放列表的功能。

    · 播放 DVD 和 CD 的功能。

    · 访问 Windows Media Player 中的 Media Library(媒体库)。

    · 处理元数据的功能。

    · 支持字幕。

    · 支持多种语言的音频。

    · 控制网络连通性和访问相关统计信息的功能。

  下面我们来看看构造这个媒体播放器要达到什么样的目标,确定了目标也就确定了代码量和程序的复杂程度。本文的媒体播放器要达到如下目标:

  · 是一个菜单驱动的简单AWT应用。

    · 包含一个“文件”菜单,文件菜单包含三个菜单项:

    · “打开”,用来打开媒体文件。

    · “循环”,是播放一次(默认),还是重复播放。

    · “退出”,退出程序。

    · 可以在多种平台上运行。

    · 核心功能通过JMF( 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”的数字音频文件,同时呈现了可视化效果。

  
请添加描述

  

  · 本文假设您已经具备一定的 Visual C# 和 Visual Studio.NET 集成开发环境知识。

准备工作

  在开始创建应用程序之前,您需要安装必要的软件并注册主互操作程序集 (QuartzTypeLib)。

  这里简单介绍DirectShow 接口:

  播放视屏和声音文件我们要用到DiectX为我们提供的DirectShow组件.使用这个接口可以让你方便的播放那些共用的影像和声音文件.你要做的仅仅只是安装DirectShow接口和使用它的功能函数和配置正确的接口参数而已.

  不幸的是.NET并不正式支持DirectX.是的也许你听说DirectX9支持是吗?是的,不过在最终版敲定的那一天还没来,我们都得不到最好的效果.但无论如何我们还是要用的不是吗?要不这篇文章得作废了.是的,也许你用过VB,对了,就是它,我们正是要用到那个.

  开始项目

  在安装必要软件并注册 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(确定)关闭对话框。

[1]    

【责编:Ken】

--------------------next---------------------

阅读(318) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~