mirror of
https://github.com/zhaarey/go-mp4tag.git
synced 2025-10-23 15:11:07 +00:00
66 lines
1.2 KiB
Markdown
66 lines
1.2 KiB
Markdown
# go-mp4tag
|
|
MP4 tagger written in Go.
|
|
|
|
## Setup
|
|
```
|
|
go get github.com/Sorrow446/go-mp4tag
|
|
```
|
|
```go
|
|
import "github.com/Sorrow446/go-mp4tag"
|
|
```
|
|
|
|
## Usage Examples
|
|
```go
|
|
tags := &mp4tag.Tags{
|
|
Album: "album",
|
|
AlbumArtist: "album artist",
|
|
Title: "title",
|
|
TrackNumber: 1,
|
|
TrackTotal: 20,
|
|
Genre: "genre",
|
|
DiskNumber: 3,
|
|
DiskTotal: 10,
|
|
Comment: "comment",
|
|
}
|
|
err := mp4tag.Write("1.m4a", tags)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
```
|
|
Write album, album artist, title, track number, track total, genre, disk number, disk total, and comment tags.
|
|
|
|
|
|
```go
|
|
tags := &mp4tag.Tags{
|
|
Custom: map[string]string{
|
|
"CUSTOMFIELD": "custom field",
|
|
"CUSTOMFIELD2": "custom field 2",
|
|
},
|
|
Delete: []string{"genre", "cover"},
|
|
}
|
|
err := mp4tag.Write("1.m4a", tags)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
```
|
|
Write two custom fields named `CUSTOMFIELD` and `CUSTOMFIELD2`, delete genre tag, and remove cover.
|
|
|
|
|
|
```go
|
|
coverBytes, err := ioutil.ReadFile("cover.jpg")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
tags := &mp4tag.Tags{
|
|
Cover: coverBytes,
|
|
}
|
|
err = mp4tag.Write("1.m4a", tags)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
```
|
|
Write cover from `cover.jpg`.
|
|
|
|
## Thank you
|
|
This library relies heavily on abema's go-mp4 library.
|