none
DirectShow能否获取相机设备里面的文件? RRS feed

  • 问题

  • 现在项目里面有一个需求,就是从相机设备里面获取他的相片文件。不是读设备的SD卡,而是把设备通过数据线接入电脑之后(我的电脑会显示一个照相机的设备,WIN7会显示便携设备),然后访问其里面的文件。由于这个设备没有盘符,不知道如何访问。。

    之前的访问是用WIA的,因为开发环境是XP,只有WIA 1.0,但是项目是可能在WIN7或者以上去跑,所以不知道该如何兼容WIA的接口。现在有几个问题想问一下:

    1. 访问设备里面的文件,除了WIA之外有没有更简单的方法
    2. Directshow能否实现上述功能?求介绍
    3. 在C#里面使用WIA的话,transfer出来的文件会没有了原来的EXIF信息,而且文件会很大,通过软件识别可以知道,这个文件transfer出来后变成了BMP(原来是JPG)
    4. 在XP中C#使用transfer的话,内存会猛增,貌似释放不了,如果一个单反来算,一张照片10几照,还没有transfer出来,内存都已经没了。程序关闭后依然没有回收。代码里面调用COM去release或者调用GC都无法释放transfer时候产生的内存占用。最后只能重启了。

    麻烦有哪位高人能解答一下这个问题?

    2013年3月6日 2:49