2017-12-24 41 views
1

Audacityのwave(.wav)ファイルを、LOOP_STARTとLOOP_LENGTHというキーを持つメタデータのカスタムタグとともにエクスポートしました。Java:Waveオーディオファイルからメタデータタグを取得する

Screenshot of the tags in the metadata editor in Audacity

私の唯一の問題は、私は私のJavaプログラムでこれらのキーに添付の値を取得する方法がわからないです。私はこれについてどうやって行くのですか?

編集:唯一の方法であればサードパーティのライブラリをダウンロードすることに反対しませんが、標準のJavaライブラリを使用したソリューションを使用することをお勧めします。

EDIT2:

URL url = Main.class.getClassLoader().getResource("bgm/bgm4.wav"); 
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(url); 
AudioFormat format = audioInputStream.getFormat(); 
System.out.println(format.properties()); 

だけがこれを印刷している: "{}" ここで私はいじりいますいくつかのコードがあります。 ( "bgm"はフォルダ(srcの直接の子)です)

例外を投げているわけではないので、私は知っていますが、srcではなくrootからbinに移動しています。違いがあるかどうかは分かりません。しかし、ビンのオーディオファイルは、srcのものと同じメタデータタグを持っています。

1/13/18編集: これはまだ解決しています。ここに私が試している新しいコードがあります:

URL url = AudioMetadata.class.getClassLoader().getResource("audio/bgm4.wav"); 
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(url); 
AudioFormat format = audioInputStream.getFormat(); 
AudioFileFormat fformat = AudioSystem.getAudioFileFormat(url); 

Map<String, Object> props = fformat.properties(); 
System.out.println(props.size()); 

この印刷物は0です。

答えて

0

.wavが読み込まれると、Javaサウンドライブラリとその.propertiesアスペクトを使用できるようになります。Hereは、Javaサウンドガイドへのリンクです。

Ex。

AudioFormat file = stream.getFormat(); 
System.out.println("Properties: " + file.properties()); 
+0

私の2番目の編集をご覧ください。私はそれに似たものを試しましたが、それは "{}"しか印刷しません。 – wheat32

関連する問題