7

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

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

4

4 回答 4

2

我使用了 codeproject文章中的代码,效果很好。它是 IMAPI2 的一个很好的包装器,所以只要 IMAPI2 支持您需要做的事情,.NET 包装器就可以做到。

于 2008-09-12T11:45:42.620 回答
1

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

我最终围绕cdrecord编写了一个包装器 cdrecord 是一个开源项目,可以使用 cygwin 轻松构建。我将创建一个暂存目录,在其中添加需要写入的文件,在该目录上调用 mkisofs 以制作 cd iso,然后调用 cdrecord 来刻录映像。如果您有严格的 windows 用户,这可能不是最好的解决方案,但这是我能找到的唯一适用于 windows、Linux 和 OS X 的东西。

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

于 2008-08-28T21:14:41.973 回答
1

我的 cdrecord 方法确实支持 dvd 刻录,我只是查看了代码,天哪,我忘记了我在该课程中投入了多少时间和精力。

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

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

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

就 StarBurn SDK 而言,我对其进行了演示,但我没有将它用于已发货的产品,因此我无法真正给出推荐或说比它实际工作更多的内容

于 2008-08-28T22:00:58.303 回答
0

您的 cdrecord 方法是否支持 DVD 刻录?是否有一种简单的方法可以通过应用程序重新分发/安装 cygwin?StarBurn 乍一看看起来相当不错,虽然我有点犹豫是否要使用未经证实的库,这些库必须处理如此复杂的事情(尤其是现在有多种媒体类型),而且 StarBurn 投资组合页面有点在蓬松的一面。

于 2008-08-28T21:24:48.173 回答