我需要迭代 IMFMediaSource 引脚并获取每个引脚的具体类别名称,我在 win 8 中工作,使用媒体基础的 cpp 接口(interface)。
我看到 IBaseFilter 有一个 IBaseFilter::EnumPins 函数,但是 IMFMediaSource 不支持 IBaseFilter 接口(interface):
CComPtr<IBaseFilter> pFilter;<br/>
HRESULT hr = m_pMediaSource->QueryInterface(__uuidof(IBaseFilter), (void **)&pFilter);
失败,错误代码为 NO_INTERFACE :(
如何从媒体源中获取 Pin 图类别??
最佳答案
这是行不通的,因为它不一定行得通。 IMFMediaSource
属于 Media Foundation,IBaseFilter
属于 DirectShow。不同的 API 不必共享或以其他方式重复实现。 Media Foundation 对象甚至没有开始的引脚。
由于无法回答所提出的问题,这里唯一的解决办法是退后一步,首先回顾一下您究竟想要实现什么。
关于c++ - 如何从 IMFMediaSource 获取 Pin 图类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20312841/