【问题标题】:Writing a .wmv file using WMA sf filter使用 WMA sf 过滤器编写 .wmv 文件
【发布时间】:2011-03-01 22:12:35
【问题描述】:

我正在尝试使用 WM Asf 编写器过滤器创建一个输出 .wmv 文件。这是我的代码。

IBaseFilter* pASFWriter; CoCreateInstance(CLSID_WMAsfWriter,NULL,CLSCTX_INPROC_SERVER,IID_IBaseFilter,(void**) (&pASFWriter));
pGraphBuilder->AddFilter(pASFWriter,L"FileWriter");
IFileSinkFilter *pSink2=NULL;
pASFWriter->QueryInterface(IID_IFileSinkFilter,(void**)&pSink2); pSink2->SetFileName(OUTFILENAME,NULL);

以上所有都返回 S_OK 但是没有创建文件。我无法理解为什么会这样?

【问题讨论】:

    标签: directshow


    【解决方案1】:

    您在这里所做的只是创建一个 DirectShow 过滤器并将其设置为写入文件。在过滤器连接到为它提供数据的其他过滤器并且图表运行之前,什么都不会发生。在收到第一个有效数据之前,不会创建文件。

    有关详细信息,请参阅this MDSN 主题。

    【讨论】:

    • 好吧,我尝试一下。我实际上想将 .wmv 文件裁剪为持续时间更短的 .wmv 文件。所以这就是我所做的 - 源过滤器->样本采集器过滤器->WMA sf writer。最后 2 个通过 2 个引脚(视频和音频)连接。然后我指定所需的持续时间 - 通过使用 IMediaPostion 作为开始和停止时间。然后我运行图表。其他所有内容都返回 S_OK 但运行图表命令返回 E_FAIL.I不知道为什么会这样
    猜你喜欢
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    相关资源
    最近更新 更多