[与此页面关联的功能(Windows Media Format 11 SDK)是一项旧功能。 它已被 源读取器 和 接收器编写器取代。 源读取器 和 接收器编写器 已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 源读取器 和 接收器编写器,而不是 Windows 媒体格式 11 SDK。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]
WM ASF 编写器筛选器接受可变数量的输入流并创建 ASF 文件。 筛选器处理所有压缩和复用(尽管可以绕过压缩机制)。 可以在各种方案中使用 WM ASF 编写器筛选器,包括数字视频(DV)捕获、音频重新压缩和转换 Audio-Video 交错(AVI)或 MPEG 数字媒体文件进行网络流式处理。 此筛选器提供在 DirectShow 中创建 Microsoft Windows Media Audio 和 Windows Media Video 文件的唯一方法。
有关详细信息,请参阅 在 DirectShow中创建 ASF 文件。
下表包含有关 WM ASF 编写器筛选器的信息,例如它支持的接口和媒体类型。
筛选器信息 | 类型 |
---|---|
筛选器接口 | IAMFilterMiscFlags、IBaseFilter、IConfigAsfWriter、IFileSinkFilter2、IMediaSeeking、 IPersistStream、IServiceProvider、ISpecifyPropertyPages、IWMIndexer2、IWMHeaderInfo、IWMWriterAdvanced2 |
输入引脚媒体类型 | 依赖于配置文件。 通常未压缩的类型(如MEDIATYPE_Audio或MEDIATYPE_Video),不过,如果压缩类型与配置文件匹配,则可以接受这些类型 |
输入引脚接口 | IPin、IMemInputPin、IAMStreamConfig、IServiceProvider、IAMWMBufferPass、IWMStreamConfig2(通过 IServiceProvider) |
输出引脚媒体类型 | 不適用 |
输出引脚接口 | 不適用 |
筛选 CLSID | CLSID_WMAsfWriter |
属性页 CLSID | CLSID_WMAsfWriterProperties |
可执行 | Qasf.dll |
优点 | MERIT_DO_NOT_USE |
筛选器类别 | 未指定 |
言论
筛选器上的输入引脚数取决于传递给筛选器的配置文件。 为配置文件中定义的每个流创建一个适当的媒体类型的引脚。
输入引脚支持 IAMStreamConfig 接口中的一种方法:IAMStreamConfig::GetFormat。 所有其他方法返回E_NOTIMPL。 调用 GetFormat 方法以查询引脚的目标压缩格式,该格式由当前配置文件定义。 使用 IConfigAsfWriter 接口设置配置文件。
筛选器的 IServiceProvider 接口使应用程序能够检索 Windows 媒体格式 SDK 中定义的 IWMWriterAdvanced2 接口。 IWMWriterAdvanced2 接口控制视频反交错,如果输入是 交错 源(如 DV(数字视频),则非常有用。 使用 GetInputSetting 和 SetInputSetting 方法控制反交错。 不建议客户端在此接口上使用任何其他方法。 只有在筛选器添加到筛选器图后,才能获取此接口。 以下示例演示如何查询此接口:
// Assume that m_pGraph is a valid IGraphBuilder interface pointer,
// and that pAsfWriter points to the IBaseFilter interface
// on the WM ASF Writer filter.
IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;
hr = m_pGraph->AddFilter(pAsfWriter, L"WM ASF Writer");
...
hr = pAsfWriter->QueryInterface(IID_IServiceProvider, (void**)&pProvider)
if (SUCCEEDED(hr))
{
hr = pProvider->QueryService(IID_IWMWriterAdvanced2,
IID_IWMWriterAdvanced2, (void**)&pWMWA2);
pProvider->Release();
}
相关主题