2010-03-21 14 views
1

我正在嘗試爲我的學校項目創建基於Java的音樂播放器的CD刻錄功能。由於我剛剛接觸現實生活中的編程(我只學會了在AP計算機科學A級編寫代碼),我不知道如何將從APCS A學到的概念應用於此任務。爲基於Java的音樂播放器創建CD刻錄功能

在研究生院學習計算機科學的我的一位朋友告訴我「查找cd播放器控制函數,並在這些類中添加方法來讀取要寫入CD的數據,並將其寫入到CD緩衝區,將緩衝區中的所有內容寫入CD本身,清除緩衝區,然後將新的數據塊寫入緩衝區,「但我無法完全理解這意味着什麼,並且現在很難與她聯繫,因爲她忙於撰寫論文。可以從這個論壇有人請指導我通過&解釋一般概念?謝謝!

回答

1

你可能想找到一個好的CD burning library such as this one或其他任何一個 - 只要確保它適用於您將作出這對於任何操作系統。您可能無法直接從Java中執行此操作(至少我不知道有任何方法可以用Java本機寫入CD),但您可以在C++中執行此操作,然後使用JNI來調用它。 JNI將允許您從Java內部調用C++代碼。

+0

你可以給我在Java中實施了一些例子嗎? – 2013-04-11 05:04:28

1

更簡單的解決方案是爲開源cdrtools編寫一個前端。

1

JIIC:Java的ISO映像創建

JIIC是與延伸部E1 Torito的,喬利埃特和巖嶺創建CD-ROM文件系統映像( 「ISO映像」)基於流的Java實現ISO 9660的。它基於SABRE流API,並提供了一個Ant任務,可輕鬆集成到基於Java的構建過程中。 ISO 9660

1988年的ISO 9660標準描述了用於CD-ROM的文件系統。 ECMA-119(第二版)完全等同於ISO 9660.有幾個限制,包括字符集,深度目錄嵌套和文件名長度。因此,開發了諸如El Torito(可啓動CD-ROM),Joliet(Unicode,更長文件名)和Rock Ridge(支持UNIX文件系統特徵)的擴展。 SABRE

二元表示的簡單API(SABRE)由德國達姆施塔特理工大學的Michael Hartle開發。它引入了一個基於Java的流媒體API,通過一組充當流水線的模塊來處理二進制數據(而不是像XML這樣的文本表示)。閱讀文章的詳細信息或訪問其網站。 JIIC

JIIC是我在達姆施塔特理工大學計算機科學系電子工程系畢業論文的實踐部分的結果。該文憑論文由SABRE開發商MaxMühlhäuser教授和Michael Hartle教授監督。

JIIC和SABER作爲一組Java 1.4類提供在JAR文件中打包在一起。 JIIC和SABER源代碼是根據LGPL授權的。 JIIC可從SourceForge的CVS,SABER獲得。 下載 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.