fix: null ref when add meta for flac

This commit is contained in:
TaurusXin 2025-02-01 12:28:44 +08:00
parent 49e554931e
commit 4d0622073a
Signed by: taurusxin
GPG Key ID: C334DCA04AC2D2CC
2 changed files with 6 additions and 5 deletions

View File

@ -5,11 +5,11 @@ import (
"encoding/base64" "encoding/base64"
"encoding/binary" "encoding/binary"
"fmt" "fmt"
"git.taurusxin.com/taurusxin/ncmdump-go/utils"
"github.com/bogem/id3v2/v2" "github.com/bogem/id3v2/v2"
"github.com/go-flac/flacpicture" "github.com/go-flac/flacpicture"
"github.com/go-flac/flacvorbis" "github.com/go-flac/flacvorbis"
"github.com/go-flac/go-flac" "github.com/go-flac/go-flac"
"git.taurusxin.com/taurusxin/ncmdump-go/utils"
"io" "io"
"net/http" "net/http"
"os" "os"
@ -235,13 +235,14 @@ func (ncm *NeteaseCloudMusic) FixMetadata(fetchAlbumImageFromRemote bool) (bool,
cmts = flacvorbis.New() 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) _ = 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) _ = 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) _ = cmts.Add(flacvorbis.FIELD_ALBUM, ncm.mMetadata.mAlbum)
} }