update
This commit is contained in:
parent
fa61b83665
commit
4f48d4f343
@ -1,5 +1,6 @@
|
|||||||
package com.yutou.tools.utils;
|
package com.yutou.tools.utils;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.yutou.tools.home.nas.Data.MusicData;
|
import com.yutou.tools.home.nas.Data.MusicData;
|
||||||
import com.yutou.tools.home.nas.MusicController;
|
import com.yutou.tools.home.nas.MusicController;
|
||||||
@ -188,6 +189,8 @@ public class MusicTools {
|
|||||||
|| file.getName().endsWith(".ini")
|
|| file.getName().endsWith(".ini")
|
||||||
|| file.getName().endsWith(".png")
|
|| file.getName().endsWith(".png")
|
||||||
|| file.getName().endsWith(".torrent")
|
|| file.getName().endsWith(".torrent")
|
||||||
|
|| file.getName().endsWith(".log")
|
||||||
|
|| file.getName().endsWith(".mkv")
|
||||||
) {
|
) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -253,7 +256,9 @@ public class MusicTools {
|
|||||||
}
|
}
|
||||||
return data;
|
return data;
|
||||||
} catch (CannotReadException e) {
|
} catch (CannotReadException e) {
|
||||||
MusicData data = new MusicData();
|
MusicData data = getMetadata_jthink(file);
|
||||||
|
if (data == null)
|
||||||
|
data = new MusicData();
|
||||||
data.setTitle(file.getName());
|
data.setTitle(file.getName());
|
||||||
data.setFile(file);
|
data.setFile(file);
|
||||||
return data;
|
return data;
|
||||||
@ -263,6 +268,74 @@ public class MusicTools {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public MusicData getMetadata_jthink(File file) {
|
||||||
|
try {
|
||||||
|
org.jaudiotagger.audio.AudioFile audioFile = org.jaudiotagger.audio.AudioFileIO.read(file);
|
||||||
|
org.jaudiotagger.tag.Tag tag = audioFile.getTag();
|
||||||
|
MusicData data = new MusicData();
|
||||||
|
try {
|
||||||
|
data.setAlbum(tag.getFirst(org.jaudiotagger.tag.FieldKey.ALBUM));
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
data.setArtist(tag.getFirst(org.jaudiotagger.tag.FieldKey.ARTIST));
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
data.setArtist_sort(tag.getFirst(org.jaudiotagger.tag.FieldKey.ARTIST_SORT));
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
data.setComment(tag.getFirst(org.jaudiotagger.tag.FieldKey.COMMENT));
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
data.setComposer(tag.getFirst(org.jaudiotagger.tag.FieldKey.COMPOSER));
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
data.setDisc_no(tag.getFirst(org.jaudiotagger.tag.FieldKey.DISC_NO));
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
if (StringUtils.isEmpty(tag.getFirst(org.jaudiotagger.tag.FieldKey.TITLE))) {
|
||||||
|
data.setTitle(file.getName());
|
||||||
|
} else {
|
||||||
|
data.setTitle(tag.getFirst(org.jaudiotagger.tag.FieldKey.TITLE));
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
data.setTitle(file.getName());
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
data.setTrack(tag.getFirst(org.jaudiotagger.tag.FieldKey.TRACK));
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
data.setYear(tag.getFirst(org.jaudiotagger.tag.FieldKey.YEAR));
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
}
|
||||||
|
data.setFile(file);
|
||||||
|
|
||||||
|
org.jaudiotagger.audio.AudioHeader header = audioFile.getAudioHeader();
|
||||||
|
data.setBitRate(Integer.parseInt(header.getBitRate()));
|
||||||
|
data.setSampleRate(Integer.parseInt(header.getSampleRate()));
|
||||||
|
data.setNoOfSamples(header.getSampleRateAsNumber());
|
||||||
|
data.setChannelCount(Integer.parseInt(header.getChannels()));
|
||||||
|
data.setEncodingType(header.getEncodingType() + "");
|
||||||
|
data.setDurationAsDouble(header.getTrackLength());
|
||||||
|
data.setLossless(header.isLossless());
|
||||||
|
data.setVariableBitRate(header.isVariableBitRate());
|
||||||
|
try {
|
||||||
|
data.setMd5(header.getClass().getMethod("getMd5").invoke(header).toString());
|
||||||
|
} catch (Exception ignored) {
|
||||||
|
data.setMd5(Base64.getEncoder().encodeToString(file.getAbsolutePath().getBytes()));
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public List<MusicData> findOfTitle(String title) {
|
public List<MusicData> findOfTitle(String title) {
|
||||||
return find(title, FIND_TITLE);
|
return find(title, FIND_TITLE);
|
||||||
@ -321,9 +394,10 @@ public class MusicTools {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
public static void main(String[] args) throws Exception {
|
||||||
AudioFile audioFile = AudioFileIO.read(new File("C:\\Users\\admin\\Music\\34\\周杰伦 - 说好不哭(with 五月天阿信).flac"));
|
File file = new File("Z:\\音乐\\秒速5厘米\\【秒速五厘米】OST-桜花抄.flac");
|
||||||
|
/*AudioFile audioFile = AudioFileIO.read(file);
|
||||||
AudioHeader header = audioFile.getAudioHeader();
|
AudioHeader header = audioFile.getAudioHeader();
|
||||||
System.out.println(JSONObject.toJSONString(header));
|
System.out.println(JSONObject.toJSONString(header));*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user