DIRECTSHOW平台下的应用程序开发

 
2007-01-20 12:13

Filter Graph Manager过滤器图形管理器主要接口分析

IAMGraphStreams 控制一个渲染实时(live)源的过滤器图形

IAMStats 获得图形管理器的性能参数

IBasicAudio 控制音频流的音量和均衡

IBasicVideo 设置视频流的属性

IBasicVideo2 继承自IbasicVideo,增加了对视频流aspect ratio的访问功能

IFilterChain 启动,停止或者移除图形管理器中的过滤器链

IFilterGraph

创建一个过滤器图形,并向过滤器图形中加入,移除,连接过滤器等

IFilterGraph2 由IFilterGraph 和 IgraphBuilder继承而来

IFilterMapper2 注册和注销过滤器,及在注册表中定位过滤器

IGraphBuilder 应用程序通过该接口创建过滤器图形

IGraphConfig 支持了图形过滤器的动态创建

IGraphVersion 应用程序通过该方法获得某个过滤器图形的版本

IMediaControl 媒体控制接口,主要功能为启动,停止,播放媒体

IMediaEvent 媒体事件接口,主要功能为获得事件通知,并重写图形管理器的缺省媒体事件

IMediaEventEx 由ImediaEvent事件继承,增加了对媒体事件的接收功能

IMediaEventSink 通知图形管理器刚刚发生的媒体事件

IMediaFilter 控制一个图形管理器的流状态

IMediaPosition 得到媒体流的位置

IMediaSeeking 定位媒体流并设置回放速率

IQueueCommand 排队某一特定时间的命令

IRegisterServiceProvider 注册一个服务

IResourceManager 管理系统资源,解决系统资源的竞争问题

IVideoFrameStep提供对媒体流的步进访问功能

IvideoWindow 设置一个视频窗口的属性,应用程序可以通过该接口来设置该窗口的拥有者,窗口的位置和尺寸以及别的属性

DIRECTSHOW应用程序开发步骤

DirectShow 能在过滤器图形运行的时候接收到各种事件,并通过消息的方式发送到应用程序. 这样, 就实现了应用程序与DirectShow 系统之间的交互.

第一步:应用程序创建过滤器图形管理器的一个实例.

第二步:应用程序通过过滤器图形管理器创建过滤器图表,图表中所使用的具体的过滤器需要根据实际的应用程序来决定.

第三步:应用程序通过过滤器图形管理器控制过滤器图形和数据流向,在这个过程中,应用程序也要响应过滤器图形的事件.在过滤器图形中,为了完成特定的任务,必须将所有需要的过滤器连接起来,因此前级过滤器的输出必定成为下级过滤器的输入. 一个过滤器至少有一个输入针,并将特定的输出送到输出针.

在程序运行结束时 , 应用程序释放过滤器图表管理器和所有的过滤器。

你可能感兴趣的:(DIRECTSHOW平台下的应用程序开发)