質問

この投稿の主題が示唆しているように、私はブルーレイ ディスクの書き込みを支援する nero のようなスイートの開発を検討しています。どこから始めればよいのか全く分かりません。Java APIにはこれを可能にするものはありますか?最初から始める場合、ブルーレイ ディスクの仕様から始める必要がありますか?すでにこれを行っているオープンソース ツールはありますか?sourceforge.net で検索してみましたが、役立つものは何も見つかりませんでした。ご協力をよろしくお願いいたします。

役に立ちましたか?

解決

明らかなことから始めます。要件とツールを理解します。おそらくここで推測してみます。

要件:

  1. BluRay ディスクに書き込む必要があります
  2. グラフィカル・ユーザー・インターフェース

推奨ツール:

  • ジャワ

Java は、おそらく 90 年代の VM 言語の代表的な例であり、VM のおかげで比較的優れたプラットフォーム非依存性を実現しています。それは言語です 設計 で走る バーチャル 実際のハードウェアへの移植を容易にするハードウェア。

さて、この事実に伴うことは、メモリ管理の詳細やアーキテクチャ、プラットフォームの仕様など、気にしなければならない多くの事柄を抽象化することになります。確実にアクセスできないものの中には、ハードウェアがあります。結局のところ、そのほとんどを抽象化したのです。

さて、BluRay ディスクを書き込むには、 持っている ハードウェア、特に BluRay ライターにアクセスします。それが不可能というわけではありませんが、私の謙虚な意見では、Java はこれに適したツールではありません。C または C++ でライブラリを実装し、JNI/JNA を使用してそれにアクセスするという方法も考えられますが、それを見て実際に何が得られるのでしょうか?

Java は、大規模な標準ライブラリを備えた最新の高級言語が必要で、プログラムを複数のプラットフォームで実行する必要がある場合に通常選択されます。これらが主な使用例です。他のテクノロジーでも不可能ではありませんが、正確に何が必要かによっては、達成するのがより困難になる可能性があります。

BluRay ライターと通信するためのネイティブ ライブラリを実装し、Java からそれと通信する場合は、必ず他のプラットフォーム用にもそれを再実装する必要があります (それが希望するものであると仮定しますが、そうでない場合は、もう一度次のようにします)。なぜ Java?)。

TL/DR バージョン:私が言いたいのは、まさにそのテーマに関するものがあまり見つからないのはそれほど驚くべきことではないということです。まず、Java は実際にはそのようなことを行うように設計されていません。Java とネイティブの相互運用性のほとんどは JVM 内にあり、それはすでに膨大な量のコードです。Java が、CD/DVD/BluRay の書き込みなど、非常にまれな使用シナリオをネイティブにサポートすることを期待しないでください。第二に、BluRay は比較的新しいテクノロジーであり、CD/DVD ライターなどのコンピューターのハードウェアにはまだ普及していないライターを使用しているため、ライブラリやツールの不足も現在の市場の需要を反映している可能性があります。

他のヒント

それはブルーレイではない標準APIでいない限り、

低レベルのハードウェアへのアクセスは、純粋なJavaで単純に不可能です。

したがって、あなたは、ハードウェアにアクセスするための非Javaコードを使用する必要があります。その時点では、Javaのプラットフォームindependanceを失い、必ずしも常に1つだけの言語を使用するよりもプログラムに多くの苦痛である多言語システムを、持っています。

しかし、あなたが見つける(または、私は推測、開発)できる場合(ほとんどの場合)Cでのマルチプラットフォームブルーレイ書き込みAPIやコマンドラインツール、それはまだJavaでアプリケーションの残りの部分を書くために意味をなさないかもしれません追加機能とGUIラッパーとして

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top