对于一个加密过的文件,如何在播放器(如media player)播放它之前,把它解密,而且是边解密边播放的?(没有media sdk的情况下),需要设计一个文件过滤驱动吗?

解决方案 »

  1.   

    不用文件驱动,但你需要实现一个source filter.
      

  2.   

    呵呵,谢谢。今天刚下了media的sdk,有点事想不明白:怎么把我们解完密的数据传给media player,而且这个media是在做流媒体服务器,也就是说,在用户点播该片以后,我们的程序要截获到该事件,然后把片解密,再让media通过流的形式传给用户观看。呵呵,刚接触这东西,不知道从何入手,还请不吝赐教:)
      

  3.   

    自己写source filter,由于多媒体文件的格式很多,有的默认拉有的默认推模式,所以写时要注意这个问题,比如写pull的mpeg的可以而wmv asf的就不行了,因为系统没有对应的splitter(你自己加的出外),楼上提到如果处理数据,就以push模式为例,你会发现里面有个FillBuffer()这样字的函数,里面就是对sample数据的填充,在这里实时解密就可以了
      

  4.   

    再有如果是push模式,需要自己分离音视频操作,这里可以使用Windows Media Format SDK