1

我正在尝试为我的学校项目创建基于 Java 的音乐播放器的 CD 刻录功能。由于我是现实生活中的编程新手(我只学会了在 AP 计算机科学 A 级别上编写代码),我不知道如何将我从 APCS A 学到的概念应用到这项任务中。

我的一位在研究生院学习计算机科学的朋友告诉我“查找 cd 播放器控制函数并在这些类中添加方法来读取您想要写入 CD 的数据,将其写入缓冲区,写入所有内容在 CD 本身的缓冲区中,清除缓冲区,然后将新的数据块写入缓冲区,”但我不太明白这意味着什么,而且现在真的很难联系到她,因为她正忙于处理她论文。这个论坛的人可以指导我并解释一般概念吗?谢谢!

4

3 回答 3

1

JIIC:Java ISO 映像创建器

JIIC 是 ISO 9660 的基于流的 Java 实现,用于创建扩展名为 El Torito、Joliet 和 Rock Ridge 的 CD-ROM 文件系统映像(“ISO 映像”)。它基于 SABRE 流 API,并提供了一个 Ant 任务,以便轻松集成到基于 Java 的构建过程中。ISO 9660

1988 年的 ISO 9660 标准描述了用于 CD-ROM 的文件系统。ECMA-119(第 2 版)完全等同于 ISO 9660。有一些限制,包括字符集、深度目录嵌套和文件名长度。因此,开发了 El Torito(可引导 CD-ROM)、Joliet(Unicode,更长的文件名)和 Rock Ridge(支持 UNIX 文件系统特性)等扩展。军刀

二进制表示的简单 API (SABRE) 由德国达姆施塔特科技大学的 Michael Hartle 开发。它引入了一个基于 Java 的流 API,用于通过一组充当管道的模块来处理二进制数据(与 XML 等文本表示相反)。阅读文章了解详情或访问其网站。JIIC

JIIC 是我在达姆施塔特理工大学远程合作集团计算机科学系毕业论文实践部分的结果。毕业论文由教授 Max Mühlhäuser 博士和 SABRE 的开发者 Michael Hartle 指导。

JIIC 和 SABRE 作为一组 Java 1.4 类提供,它们打包在 JAR 文件中。JIIC 和 SABRE 源代码在 LGPL 下获得许可。JIIC 可从 CVS 获得,SABER 可从 SourceForge 获得。下载 JIIC 1.1.2

All-in-one package
Updated test suite

JIIC 1.1.1

All-in-one package
Updated test suite

JIIC 1.1

All-in-one package

JIIC 1.0

ISO9660 JAR
SABRE JAR
ISOtest class
Test suite

变更日志

JIIC 1.1.2
    added support for long Joliet file names (up to 103 Unicode characters instead of 64, disabled by default) like mkisofs's -joliet-long option, as requested by Nigel Tamplin
JIIC 1.1.1
    fixed Joliet file name length check bug, reported by Alessandro Premoli and Christof Nef
JIIC 1.1 "JNode edition"
    Incorporated a patch by Gilles "Wooden" Duboscq for adding support for patching the El Torito boot image (like mkisofs -boot-info-table) and padding the ISO image to 150 sectors (like mkisofs -pad). See build.xml for the new options.
于 2014-01-27T07:54:05.163 回答
1

您可能希望找到一个好的CD 刻录库,例如这个或任何其他的 - 只要确保它可以在您将要为之制作的任何操作系统上运行。您可能无法直接从 Java 执行此操作(至少我不知道有任何方法可以在 Java 中本地写入 CD),但您可以在例如 C++ 中执行此操作,然后使用JNI调用它。JNI 将允许您从 Java 中调用 C++ 代码。

于 2010-03-21T19:21:31.997 回答
1

一个更简单的解决方案是为开源 cdrtools 编写前端。

于 2010-03-21T19:25:40.207 回答