周一下载了Directx 9.0c October 2004 版,安装后发现这个版本未提供DShow的相关资料及Sample,很是好奇,难道MS要放弃DShow了?不太可能。后来又下载了它的一个补充版,October 2004 Extras,原来DShow的东西被放这个Extras里了,而且资料和Sample都有一些变化,于是用VC7试着编译了一些Sample,惊喜地发现,以前用VC7无法编译的一些Sample,比如PlayWnd、PlayWndASF,现在都能成功编译了。看来MS总算重写了DShow的BaseClass和Sample,以便支持VS Studio 2003。
更高兴的事儿在后面,我又试着Link WMStubDRM.lib,以前那些稀奇古怪的编译错误全部消失,错误0,警告0,哈哈,终于可以研究一下客户端的DRM解码了。
最大的进展是今天,使用VC7成功的解码受DRM保护的WMA/V文件,以及在播放过程加入一些回响等音效,另存为不受DRM保护的WMA/V文件。并且在Delphi7下也完成同样的功能,但需要一些增加一些COM支持。但在VC6下不成,微软在这个版本里已经明确声明Directx 9.0c 不再支持VC6了。
有个问题没想明白,既然有了开发包(我是指WMStubDRM.lib,这个需要单独向微软申请),就能把DRM Protected 另存为 Non Drm Protected,那么,微软是如何控制开发包的发放、并确保这些已发放的开发包不被滥用呢(哈哈,我现在就想滥用一下)?