像這篇文章的主題建議,我正在開發一個像nero這樣的套件,它有助於刻錄藍光光盤。對於從哪裏開始,我有點無知。 Java API中有什麼可以讓你做到這一點?如果我要從頭開始,我是否需要從藍光碟規格開始?是否有任何開源工具已經這樣做?我試圖在sourceforge.net上搜索,發現沒有用。任何幫助深表感謝。Java中的藍光燃燒器 - 從哪裏開始?
回答
開始顯而易見:瞭解您的需求和工具。我嘗試在這裏猜測,也許。
要求:
- 如果刻錄藍光光碟
- 圖形用戶界面
首選工具:
- 的Java
現在,Java也許是90年代VM語言的主要例子,憑藉其虛擬機實現了其相對良好的平臺不可知論。這是一種語言設計爲在虛擬硬件上運行,以便於將便攜性轉換爲真實的硬件。
現在,這個事實帶來的是,你抽象出許多你不得不關心的東西,比如內存管理細節和體系結構或特定於平臺的細節。在這些事情中,你無法可靠地訪問硬件。畢竟,你抽象了大部分。
現在,刻錄藍光光盤有訪問硬件,特別是藍光刻錄機。並不是說這是不可能的,但根據我的愚見,Java並不是正確的工具。你可以通過在C或C++中實現一個庫並使用JNI/JNA來訪問它,但是看看它,你真的獲得了什麼?
當您需要具有大型標準庫的相當現代化的高級語言並且您還需要您的程序在多個平臺上運行時,Java通常是您的選擇。這些是主要用例。其他技術並非不可能,但可能難以實現,具體取決於您需要什麼。
如果你實現了一個本地庫來與BluRay編寫器進行對話並與Java進行對話,那麼你必然需要爲其他平臺重新實現它(假設這就是你想要的 - 如果不是這樣,那麼:爲什麼選擇Java?)。
TL/DR版本:我的觀點是,你不能準確地找到那個主題。首先,Java並不是真的被設計來完成這樣的事情。大部分Java /本地互操作都在JVM中,這已經是很多代碼了。不要指望Java本身支持非常罕見的使用場景,如CD/DVD /藍光刻錄。其次,BluRay是一種相對較新的技術,其編寫者在CD/DVD刻錄機等計算機中還不常用硬件,所以缺乏庫和工具也可能成爲當前市場需求的一面鏡子。
低級硬件訪問在純Java中是不可能的,除非它在標準API中,而Bluray不是。
因此,您將不得不使用非Java代碼來訪問硬件;那時你就失去了獨立於Java的平臺,並且必然擁有一個多語言系統,這對編程來說比單單一種語言更加痛苦。但是,如果你可以在(最有可能的)C中找到(或者,我猜,開發)一個多平臺的Bluray寫入API或命令行工具,那麼編寫應用程序的其餘部分仍然有意義Java作爲具有附加功能的GUI包裝器。
- 1. nginx燒瓶gunicorn python ....從哪裏開始?
- 2. 從哪裏開始的Java項目
- 3. 從哪裏開始
- 4. - 從哪裏開始?
- 5. 從哪裏開始春季?
- 6. 學習JAVA編程 - 從哪裏開始......?
- 7. 從哪裏開始z3950和Java
- 8. nodejs從哪裏開始?
- 9. 崩潰 - 從哪裏開始?
- 10. 燃燒上AT89C2051
- 11. 在Java中創建自定義解釋器:從哪裏開始?
- 12. Wordpress.org從哪裏開始?
- 13. Objectify SimpleQuery.endAt() - 它從哪裏開始?
- 14. 開始從哪裏開始移植?
- 15. Silverlight MVVM從哪裏開始
- 16. .NET 3D,從哪裏開始?
- 17. 從哪裏開始NodeJS?
- 18. 從哪裏開始Python
- 19. Rails memcached:從哪裏開始?
- 20. 從哪裏開始C#
- 21. Mean.js,我從哪裏開始?
- 22. dealloc從哪裏開始?
- 23. XSLT從哪裏開始?
- 24. 從哪裏開始CruiseControl.NET
- 25. 從哪裏開始Rails
- 26. css,javascript - 從哪裏開始?
- 27. 從哪裏開始Magento?
- 28. MSN Bot,從哪裏開始?
- 29. 從哪裏開始編程?
- 30. 從哪裏開始 - android?
@Johannes:同意。但是,嘿,如果有人有興趣付款,作爲自由開發人員,不應該真的被打擾。同意? – Jay 2009-10-16 15:01:45