在VB中使用DirectShow播放AU文件

发表于:2007-07-14来源:作者:点击数: 标签:
江苏省淮安市统计局 朱怀众 ---- 微软的DirectShow是一种可扩展的媒体结构,它通过内置的或自定义的过滤器(Filter)控制和处理多媒体数据流, 微软随Inte .net Explorer 4.01及Windows 98 一起发布了一个DirectShow运行时间文件:Quartz.dll。利用它,你几乎
江苏省淮安市统计局 朱怀众

---- 微软的DirectShow是一种可扩展的媒体结构,它通过内置的或自定义的过滤器(Filter)控制和处理多媒体数据流, 微软随Inte.net Explorer 4.01及Windows 98 一起发布了一个DirectShow运行时间文件:Quartz.dll。利用它,你几乎能重放所有流行的媒体文件:MPEG、AVI、WAV、MIDI、AU和MOV。

---- 除过滤器外,DirectShow还支持一种自动化对象( filter graph manager),该对象了解所有可利用的过滤器,并能根据媒体文件的类型自动选择所需的过滤器。

---- 为了在VisualBasic中使用这一自动化对象,我们首先要在VisualBasic工程中注册ActiveMovie Control type library(即QuartzTypeLib) ,注册成功后,就可用对象浏览器(Object Browser)检查和ActiveMovie Control type library 相对应的属性、事件和方法。

---- 随着因特网的普及,通常被用在Unix机上的声音文件(以AU为扩展名)也开始经常出现在Windows机上。下面就以在Visual Basic中播放AU文件为例,讲述如何使用DirectShow重放媒体文件。

---- 1. 在Visual basic中新建一个 Standard EXE 工程, Form1被缺省创建。

---- 2. 从 Project 菜单中,选取References,ActiveMovie Control type library 将出现在Available References的列表框中,点击它旁边的小方框。

---- 3. 在 Form1添加一个命令按钮。

---- 4. 粘贴下面的代码到Form1的代码窗口,其中变量MyFile存放你的AU 文件的路径及文件名。

   Option Explicit

   Private Sub Command1_Click()
      Static MyObject As Object
      Dim MyFile As String

      MyFile = "< AU 文件的路径及文件名 >"
      Set MyObject = New FilgraphManager
      MyObject.RenderFile MyFile
      MyObject.Run
   End Sub

---- 5. 在Run菜单上,选取Start,或按F5键运行此程序,点击Command1, AU 文件将开始播放。 

原文转自:http://www.ltesting.net