【问题标题】:How can I read files from a camera attached via usb如何从通过 USB 连接的相机读取文件
【发布时间】:2012-08-04 22:10:22
【问题描述】:

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

我使用的是 Sony Handycam HDR-CX160。我想编写一个小型 c# windowsform 应用程序,用于从设备复制视频文件。

那么我的应用程序如何从通过 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呢?还有其他方法可以一起完成吗?

【问题讨论】:

  • 这个问题太笼统了。一旦您陷入项目的特定方面,最好再回来。
  • 不确定为什么会有投票结束?这是一个真正的 c# 问题,我也找不到答案。我只需要一种编程方式来连接设备,以便从中复制文件。
  • 这是关于 USB 驱动器的,但也许你会发现一些有用的东西codeproject.com/Articles/18062/…
  • @JameyMcElveen 我认为您应该首先确定该 windows-explorer 文件夹的根路径。 (例如`E:\`)
  • @JameyMcElveen +1 你的问题很有趣,我有兴趣看到结果。在您进行第一次编辑之前,我最初投票结束您的问题(没有否决),但是,通过对您的问题进行的最新编辑,它更加明显和非常具体。我已投票决定将其重新打开。祝您好运找到您需要的答案!

标签: c# winforms usb


【解决方案1】:

我不知道您的设备的具体情况,最好的办法可能是使用您设备附带的软件。

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

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

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

【讨论】:

  • 我仍在研究,但 WIA 让我走上了一条我希望能找到答案的道路。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多