[研究]acmDriverOpen 与filter间的联系,ICOpen(ICTYPE_AUDIO.. 的可行性
北漂17载 2006-07-05 08:13:45 最近研究音频的压缩,发现比较流行的做法是 调用acmDriverEnum,然后从acmDriverEnumCallback(
中得到 HACMDRIVERID 后调用acmDriverOpen 然后调用转换等操作.
另一种方法枚举音频压缩的方式为
ICreateDevEnum::CreateClassEnumerator(
CLSID_AudioCompressorCategory,
&pEm,
0);
此中方法得到注册表中的[HKEY_CURRENT_USER\Software\Microsoft\ActiveMovie\devenum\{33D9A761-90C8-11D0-BD43-00A0C911CE86}路径下的各个filter
现在的问题是:两种方法所列举的支持的格式是相同的,他们直接存在着什么样的必然的联系?如果存在某种关联的话,不调acmDriverEnum进行枚举,是否可以通过某种操作后直接调用acmDriverOpen打开进行操作?
还有 ICOpen 应该打开的是CLSID_VideoCompressorCategory 下的filter,而系统定义的 ICTYPE_AUDIO 是否可以像 ICOpen(ICTYPE_VIDEO... 操作一样直接操作? 我尝试过,没有成功
我不知道怎样继续研究它们间的联系 哪位有研究的思路,提供一下研究的方法,沟通学习一下