MySQLデータベースに挿入したい詳細のリッピングされた.wavファイルがたくさんあります(簡単であれば、それらをflacsに変換する準備ができています)。(ブラウザーではなく)Windowsエクスプローラーで.wavファイルを右クリックし、[プロパティ]-> [詳細]を選択すると、曲の詳細が表示されます。たとえば、アーティスト、ジャンル、期間などです。Javaでこれらの詳細を読み取って編集するにはどうすればよいですか?
2 に答える
持続時間の情報を取得するには、次のリンクを参照してください:Java-WAVファイルの読み取り、操作、および書き込み
基本的に、WAVファイルはチャンクに分割されます。チャンクには、オーディオデータが含まれているか、オーディオデータを何らかの方法で記述しているか、それに関する情報が提供されています。読者がそれらのチャンクの1つを理解していない場合、それをスキップすることができます。これにより、ファイルにさまざまな種類の情報を配置できます。それらのチャンクの1つには、サンプルレート、チャネル数、サンプルフレームの総数などの情報が含まれており、そこから長さを計算できます。
アーティスト、ジャンルなどの場合、そのための標準チャンクはありません。したがって、それが実際にファイルにあり、Windowsデータベースのどこかにない場合は、おそらくWAVに埋め込まれたID3タグに保存されます。ID3のchunkIDが何であるかはわかりませんが、おそらく「id3」または「ID3」(スペースを含む)です。ファイル内で長さ4以上の文字列を検索することで、おそらくこれを理解できます。通常、データチャンクは最初にあり、オーディオは最後にあります。(unix / macosでは「strings」コマンドを使用します。おそらく「head」を使用します)ID3タグはMP3の標準であり、グーグルで解析する方法を理解できます。それらに到達するには、最初にWAVファイルを理解する必要があります。少なくとも、チャンクとは何か、chunkIds、チャンクをスキップする方法を理解するのに十分です。
JavaのWAVファイルでID3タグを読み取るライブラリを知らないので、ライブラリを作成するか、別の言語で作成したものをラップする必要があります。libsndfileは機能すると思いますが、MP3リーダーがないため、機能しない可能性があります。SOXを試すこともできます。また、私が使用したことのないhttp://javamusictag.sourceforge.net/をチェックすることもできますが、検索結果に表示されました。
幸運を!
私はそれらをflacファイルに変換してJAudiotaggerを使用することになりました。返信ありがとうございましたが、今回はこうしてしまいました。