Java ミュージック プレーヤー用の JavaFX 関連のソリューションに関する情報を提供します。これは、このタスクに使用するのに適したテクノロジだと思います。
サポートされているプラットフォームとフォーマット
それらは、任意のオーディオ ファイル タイプである可能性があります。
JavaFX でサポートされているオーディオ タイプは、javafx.scene.media javadocに記載されています。JavaFX 2.2 でサポートされている形式は、mp3、mp4、wav ファイルなどのさまざまなコンテナー内の MP3、AAC、および PCM です。Ogg Theora などの他の形式はサポートされていないため、そのような形式が必要な場合は、JavaFX 2.2 とは異なるソリューションが必要になります。
JavaFX について言及している人を見たことがありますが、これはデフォルトで JVM とともにインストールされていないようで、私のプログラムはもはやクロスプラットフォームではありません。
Java 7 update 6 および JavaFX 2.2 が OS X、Windows、および Linux で実行されるため、JavaFX はデフォルトで Oracle Java ランタイムとともにインストールされます。現在、モバイル プラットフォームで JavaFX を実行するための広く利用可能なソリューションはありません (ただし、将来変更される可能性があります)。
Java 7 で JavaFX を使用する方法の詳細については、JavaFX 2.1 でのコンパイルと実行およびJavaFXデプロイメント ガイドに対する私の回答を参照してください。
トラック情報を取得する (OS が追跡する)
ほとんどのトラック情報は、実際には OS データベースではなく、メディア ファイルにエンコードされています。JavaFX で再生されるメディア ファイルからメタデータを取得できます。メディア ドキュメントで定義されているように、メディア ファイルからの限定された量のメタデータの解析がサポートされています。すべてのメディアにすべてのメタデータが含まれているわけではないことに注意してください。Amazon から無料の mp3 ファイルをテストしたところ、大量のメタデータを正常に抽出できました。iTunes からのテスト用 aac エンコード m4a ファイルのメタデータはほとんど空でした。そのため、結果は使用されているメディア ファイルによって異なります。
サンプルプレイヤー
ディレクトリからオーディオ ファイルを再生し、各曲のメタデータを表示するサンプル ミュージック プレーヤーを JavaFX で作成しました。
java2sは、 Pro JavaFX 2 bookの著者によって作成されたメディア プレーヤーのソースもホストします。プロのソースは専門的に出版された本からのものですが、私のコードは簡単なハックだったので、それは私のコードよりも良いリファレンスかもしれません.
追加の質問
Linux で Oracle の JRE を使用していない私たちへの提案はありますか?
Oracle JRE は Linux で利用できますが、それを使用したくない場合は、openjdk用にopenjfxをビルドして使用するか、Oracle JRE を使用してアプリケーションを開発し、JavaFX パッケージング ツールを使用して自己配布することができます。アプリケーションに含まれているため、外部の JRE 依存関係はありません。