如何从通过USB连接的相机中读取文件

时间:2012-08-04 22:10:22

标签: c# winforms usb

在C#中,如何将文件从相机复制到本地驱动器?相机通过USB连接,不会显示为标准驱动器。

我使用的是Sony Handycam HDR-CX160。我想写一个小的c#windowsform app来复制设备中的视频文件。

那么我的应用程序如何从通过USB连接的设备复制文件?它不会显示为驱动器,但会显示在Windows资源管理器中。当我在C#中搜索驱动器时,它不在列表中?

谢谢!

========更新=======

我将尝试以不同的方式提出这个问题,并希望它会重新开放。

使用C#我需要将文件从相机复制到本地硬盘。如果我新建了这行代码的路径就可以了。

string cameraPath = ?????
string sourcePath = Path.Combine(cameraPath, @"\Video\2012-1-1.WMV");
string targetPath =  @"C:\Video\2012-1-1.WMV";
System.IO.File.Copy(sourceFile, destFile, true);

那我怎么解决cameraPath?还有另一种方法可以一起做到这一点吗?

1 个答案:

答案 0 :(得分:4)

我不知道您设备的具体信息,最好的办法是使用设备附带的软件。

但是,如果数码相机不能将其自身显示为可以从中读取文件的驱动器,则可以支持Windows Image Acquisition 。使用C#的最简单方法是使用Windows Image Acquisition Automation Layer。 Scott Hanselman在第9频道有一篇旧的Coding4Fun文章Look at me! Windows Image Acquisition

如果您可以从相机中取出闪存卡,您还可以尝试使用读卡器读取此卡,以便直接访问这些文件。

此外,如果您想在连接相机时运行应用程序,则需要register an AutoPlay event handler。有连接相机的事件。