Java中的Bluray Burner - 从哪里开始?

Jay*_*Jay 4 java cd-burning blu-ray

就像这篇文章的主题所暗示的那样,我正在研究开发一个像nero这样的套件来帮助刻录蓝光光盘.关于从哪里开始,我有点无能为力.Java API中有什么可以让你这样做吗?如果我从头开始,我需要从蓝光光盘规格开始吗?是否有任何开源工具已经在做这个?我尝试在sourceforge.net上搜索,但没有发现任何有用的东西.任何帮助深表感谢.

Joe*_*oey 6

从明显开始:了解您的要求和工具.我试着猜一下,也许吧.

要求:

  1. 应该刻录BluRay光盘
  2. 图形用户界面

首选工具:

  • Java的

现在,Java可能是90年代VM语言的主要示例,凭借其VM实现了相对良好的平台不可知性.它是一种设计用于在虚拟硬件上运行的语言,可简化对真实硬件的可移植性.

现在,这个事实带来的是你抽象出许多你需要关心的东西,比如内存管理细节和架构或平台特定的东西.在那些你无法可靠访问的东西中是硬件.毕竟,你抽出了大部分内容.

现在,要刻录BluRay光盘,您必须访问硬件,特别是BluRay刻录机.并不是说这是不可能的,但在我看来,Java并不是正确的工具.你可以通过用C或C++实现一个库并使用JNI/JNA来访问它,但是看看它,你真正获得了什么?

当您需要具有大型标准库的相当现代的高级语言并且还需要您的程序在多个平台上运行时,Java通常是一种选择.这些是主要用例.使用其他技术并非不可能,但可能更难实现,具体取决于您的需求.

如果您实现本地库与BluRay编写器交谈并与Java交谈,那么您也需要为其他平台重新实现它(假设这是您想要的 - 如果不是,那么再次:为什么选择Java?) .

TL/DR版本:我的观点是,在这个主题上你找不到太多东西并不太令人惊讶.首先,Java并不是真的设计用来做那种事情.大多数Java/native互操作都在JVM中,并且已经有很多代码了.不要指望Java本身支持非常罕见的使用场景,例如CD/DVD/BluRay刻录.其次,BluRay是一种相对较新的技术,编写者还不是CD/DVD刻录机等计算机中常见的硬件,因此缺乏库和工具也可能是当前市场需求的一面镜子.