什么是适用于Windows或.Net的好的DVD刻录组件?

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

我并不担心将音频/视频刻录到 DVD 上,因为这只是为了文件备份目的。

4个回答

2
在我的上一份工作中,我被指派找到一种跨平台且最好是免费的方法来将我们的应用程序特定文件写入 CD/DVD。我很快发现,在 Windows 上编写 CD 并不难,但我无法轻松地编写 DVD,并且这仅适用于 Windows。
最终,我编写了一个 cdrecord 包装器,cdrecord 是一个开源项目,可以与 cygwin 轻松构建。我创建了一个分段目录,在其中添加需要写入的文件,对该目录调用 mkisofs 以制作 CD ISO,然后调用 cdrecord 来烧录镜像。如果您的受众群体严格限于 Windows,则这可能不是最佳解决方案,但这是我能找到的唯一可以在 Windows、Linux 和 OS X 上使用的东西。
另一个值得考虑的选择是 StarBurn SDK,我下载了试用版并使用它,效果很好,但最终它并不免费,所以对我的目的来说太昂贵了。

2
我使用了来自CodeProject article 的代码,它运行得非常好。它是对IMAPI2的一个很好的封装器,只要IMAPI2支持你需要做的事情,.NET封装器就可以实现。

1

我的cdrecord方法支持dvd刻录,我刚刚查看了代码,我忘记了我在那个类中投入了多少时间和精力。

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

在查看代码时,我还想起了我从cdrecord(cdrtools)切换到wodim(cdrkit)。 wodim是几年前由debian团队制作的cdrecord分支,因为cdrecord放弃了GPL许可证。

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

至于StarBurn SDK,我进行了演示,但我没有将其用于已发布的产品,因此我不能真正给出建议或说更多内容,仅能说它可行。


0
你的cdrecord方法支持dvd刻录吗?还有没有一种简单的方法可以随应用程序重新分发/安装cygwin?StarBurn乍一看似乎很不错,尽管我有点犹豫是否选择未经验证的库来处理这么复杂的事情(特别是现在有这么多类型的媒体),而且StarBurn作品集页面有点太花哨了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接