add reading tags from pre-cached
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -17,6 +17,24 @@ func NewID3Tagger() *ID3Tagger {
|
||||
return &ID3Tagger{}
|
||||
}
|
||||
|
||||
// ReadMetadata читает основные метаданные (название, исполнитель) из аудиофайла.
|
||||
func (t *ID3Tagger) ReadMetadata(filePath string) (string, string, error) {
|
||||
tag, err := id3v2.Open(filePath, id3v2.Options{Parse: true})
|
||||
if err != nil {
|
||||
return "", "", fmt.Errorf("failed to open mp3 file for reading tags: %w", err)
|
||||
}
|
||||
defer tag.Close()
|
||||
|
||||
title := tag.Title()
|
||||
artist := tag.Artist()
|
||||
|
||||
if title == "" || artist == "" {
|
||||
return "", "", fmt.Errorf("title or artist tag is empty")
|
||||
}
|
||||
|
||||
return title, artist, nil
|
||||
}
|
||||
|
||||
// WriteTags записывает метаданные и обложку в указанный аудиофайл.
|
||||
func (t *ID3Tagger) WriteTags(filePath string, coverPath string, info *model.TrackInfo) error {
|
||||
tag, err := id3v2.Open(filePath, id3v2.Options{Parse: true})
|
||||
|
||||
Reference in New Issue
Block a user