VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 在VB中使用DirectShow播放AU文件
发表评论(0)作者:朱怀众, 平台:VB6.0+Win98, 阅读:9907, 日期:2001-04-19
在VB中使用DirectShow播放AU文件
江苏省淮安市统计局
朱怀众
---- 微软的DirectShow是一种可扩展的媒体结构,它通过内置的或自定义的过滤器(Filter)控制和处理多媒体数据流, 微软随Internet 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 文件将开始播放。