我想向我的 .Net 应用程序(在 Windows Server 2003 上运行)添加 DVD 刻录功能,是否有任何好的组件可用?我使用过Nero附带的NeroCOM sdk,但在最新版本的Nero中它们不再支持该sdk。我了解到 Microsoft 已经为 Windows XP/2003 创建了 IMAPI2 升级版,并且有一个 示例项目 在 CodeProject 但我自己没有使用过它,我不能说它使用起来有多容易/可靠。

我并不真正担心将音频/视频刻录到 DVD,因为这仅用于文件备份目的。

有帮助吗?

解决方案

我使用了 codeproject 中的代码 文章 而且效果很好。它是 IMAPI2 的一个很好的包装器,因此只要 IMAPI2 支持您需要执行的操作,.NET 包装器就会执行此操作。

其他提示

在我的上一份工作中,我的任务是找到一种跨平台且最好是免费的方式来将我们的应用程序特定文件写入 cd/dvd。我很快发现在 Windows 上刻录 CD 并不难,但刻录 DVD 却不容易,而且只能在 Windows 上工作。

我最终写了一个包装器 光盘记录 cdrecord 是一个开源项目,可以使用 cygwin 轻松构建。我将创建一个暂存目录,在其中添加需要写入的文件,在该目录上调用 mkisofs 来制作 cd iso,然后调用 cdrecord 来刻录映像。如果您的受众仅限于 Windows,那么这可能不是最好的解决方案,但这是我能找到的唯一适用于 Windows、Linux 和 OS X 的解决方案。

另一个值得一试的选择是 StarBurn SDK, ,我下载了试用版并使用了它,它运行良好,但最终它不是免费的,因此对于我的目的来说太贵了。

我的 cdrecord 方法确实支持 DVD 刻录,我只是查看了代码,天哪,我忘了我在这门课上投入了多少时间和精力。

cdrecord 可以毫无问题地刻录您扔给它的任何类型的媒体,但由于它是一个独立的应用程序,因此我必须进行大量解析才能获取有用的信息。如果您有兴趣,我可以挖掘我使用的标志和不同的调用,但不幸的是我无法分享源代码,因为它是为商业项目开发的。

在查看代码时,我还提醒我将 cdrecord (cdrtools) 切换为 wodim (cdrkit)。wodim 是 cdrecord 的一个分支,由 debian 团队几年前创建,因为 cdrecord 放弃了 GPL 许可证。

正如我之前所说,这是作为商业应用程序的一部分发布的,我们对 GPL 的解释是,只要您的程序可以在没有外部二进制文件的情况下运行(如果未找到 cdrecord),您就可以从程序中调用外部二进制文件而不会出现问题我们弹出一个对话框,通知用户刻录功能不可用),我们还必须托管 cdrkit 和 cygwin 的源代码,并在我们的分布式程序中包含一份 GPL 副本。所以基本上我们不会制作“衍生作品”,我们将完全按照原样编译 cdrkit 代码,然后使用生成的二进制文件。

至于 StarBurn SDK,我演示了它,但我没有将它用于已发布的产品,因此我无法真正给出建议或说比它确实有效的更多内容

您的 cdrecord 方法支持 DVD 刻录吗?有没有一种简单的方法可以通过应用程序重新分发/安装 cygwin?乍一看,StarBurn 看起来相当不错,尽管我有点犹豫是否要使用未经验证的库,因为它们必须处理如此复杂的事情(尤其是现在媒体类型的数量),而且 StarBurn 组合页面有点靠前。蓬松的一面。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top