Compare commits

...

3 Commits
v1.7.3 ... main

Author SHA1 Message Date
54da5b7a35
release: 1.7.4 2025-02-01 12:29:33 +08:00
4d0622073a
fix: null ref when add meta for flac 2025-02-01 12:28:44 +08:00
49e554931e 更新 README.md 2025-01-31 11:53:10 +08:00
5 changed files with 11 additions and 8 deletions

View File

@ -2,7 +2,9 @@
基于 https://github.com/taurusxin/ncmdump 的 Golang 移植版
支持网易云音乐最新的 3.x 版本,但需要注意:从该版本开始网易云音乐不再在 ncm 文件中内置封面图片,本工具支持从网易服务器上自动下载对应歌曲的封面图并写入到最终的音乐文件中
支持网易云音乐最新的 3.x 版本,但需要注意:从 3. x开始的某些网易云音乐版本不再在 ncm 文件中内置封面图片,本项目支持从网易服务器上自动下载对应歌曲的封面图并写入到最终的音乐文件中
你也可以去 https://git.taurusxin.com/taurusxin/ncmdump-gui 下载基于本项目的 gui 可视化图形应用,只需简单点击即可自动转换。
## 安装

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
VERSION=1.7.3
VERSION=1.7.4
# Clean up the build directory
rm -rf build

View File

@ -59,7 +59,7 @@ func main() {
}
if *showVersion {
fmt.Println("ncmdump version 1.7.3")
fmt.Println("ncmdump version 1.7.4")
os.Exit(0)
}

View File

@ -34,7 +34,7 @@ func NewNeteaseCloudMusicMetadata(meta string) *NeteaseClousMusicMetadata {
if len(artists) > 0 {
for i, artist := range artists {
if i > 0 {
metaData.mArtist += "/"
metaData.mArtist += " / "
}
metaData.mArtist += artist.Array()[0].String()
}

View File

@ -5,11 +5,11 @@ import (
"encoding/base64"
"encoding/binary"
"fmt"
"git.taurusxin.com/taurusxin/ncmdump-go/utils"
"github.com/bogem/id3v2/v2"
"github.com/go-flac/flacpicture"
"github.com/go-flac/flacvorbis"
"github.com/go-flac/go-flac"
"git.taurusxin.com/taurusxin/ncmdump-go/utils"
"io"
"net/http"
"os"
@ -235,13 +235,14 @@ func (ncm *NeteaseCloudMusic) FixMetadata(fetchAlbumImageFromRemote bool) (bool,
cmts = flacvorbis.New()
}
if res, _ := cmts.Get(flacvorbis.FIELD_TITLE); res[0] != ncm.mMetadata.mName {
// flac 可能自带元数据 当且仅当没有该项时才向目标添加元数据
if res, _ := cmts.Get(flacvorbis.FIELD_TITLE); len(res) == 0 {
_ = cmts.Add(flacvorbis.FIELD_TITLE, ncm.mMetadata.mName)
}
if res, _ := cmts.Get(flacvorbis.FIELD_ARTIST); res[0] != ncm.mMetadata.mArtist {
if res, _ := cmts.Get(flacvorbis.FIELD_ARTIST); len(res) == 0 {
_ = cmts.Add(flacvorbis.FIELD_ARTIST, ncm.mMetadata.mArtist)
}
if res, _ := cmts.Get(flacvorbis.FIELD_ALBUM); res[0] != ncm.mMetadata.mAlbum {
if res, _ := cmts.Get(flacvorbis.FIELD_ALBUM); len(res) == 0 {
_ = cmts.Add(flacvorbis.FIELD_ALBUM, ncm.mMetadata.mAlbum)
}