优化音乐封面, 歌手, 专辑信息的获取

This commit is contained in:
zhaojun1998
2019-09-08 21:06:46 +08:00
parent 0dd57e3889
commit e9cf2af5c4
3 changed files with 60 additions and 48 deletions

View File

@@ -93,32 +93,16 @@ public interface FileService {
}
default AudioInfo getAudioInfo(String url) throws Exception {
// String query = new URL(URLUtil.decode(url)).getQuery();
// url = url.replace(query, URLUtil.encode(query));
String query = new URL(URLUtil.decode(url)).getQuery();
if (query != null) {
url = url.replace(query, URLUtil.encode(query));
}
File file = new File(System.getProperty("user.home") + "/zfile/tmp/audio/" + UUID.fastUUID());
FileUtil.mkParentDirs(file);
HttpUtil.downloadFile(url, file);
Mp3File mp3file = new Mp3File(file);
ID3v1 audioTag = null;
AudioInfo audioInfo = new AudioInfo();
if (mp3file.hasId3v1Tag()) {
audioTag = mp3file.getId3v1Tag();
audioInfo.setCover("/shikwasa/audio.png");
} else if (mp3file.hasId3v2Tag()) {
ID3v2 id3v2Tag = mp3file.getId3v2Tag();
audioInfo.setCover("data:" + id3v2Tag.getAlbumImageMimeType() + ";base64," + Base64.encode(id3v2Tag.getAlbumImage()));
audioTag = id3v2Tag;
} else {
}
if (audioTag == null) {
audioInfo.setTitle("未知歌曲");
audioInfo.setArtist("未知");
} else {
audioInfo.setTitle(audioTag.getTitle());
audioInfo.setArtist(audioTag.getArtist());
}
AudioInfo audioInfo = AudioHelper.parseAudioInfo(file);
audioInfo.setSrc(url);
file.deleteOnExit();
return audioInfo;