init repo
This commit is contained in:
48
ncmcrypt/metadata.go
Normal file
48
ncmcrypt/metadata.go
Normal file
@@ -0,0 +1,48 @@
|
||||
package ncmcrypt
|
||||
|
||||
import (
|
||||
"github.com/tidwall/gjson"
|
||||
)
|
||||
|
||||
type NeteaseClousMusicMetadata struct {
|
||||
mAlbum string
|
||||
mArtist string
|
||||
mFormat string
|
||||
mName string
|
||||
mDuration int64
|
||||
mBitrate int64
|
||||
}
|
||||
|
||||
func NewNeteaseCloudMusicMetadata(meta string) *NeteaseClousMusicMetadata {
|
||||
if meta == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
metaData := &NeteaseClousMusicMetadata{
|
||||
mAlbum: "",
|
||||
mArtist: "",
|
||||
mFormat: "",
|
||||
mName: "",
|
||||
mDuration: 0,
|
||||
mBitrate: 0,
|
||||
}
|
||||
|
||||
metaData.mName = gjson.Get(meta, "musicName").String()
|
||||
metaData.mAlbum = gjson.Get(meta, "album").String()
|
||||
|
||||
artists := gjson.Get(meta, "artist").Array()
|
||||
if len(artists) > 0 {
|
||||
for i, artist := range artists {
|
||||
if i > 0 {
|
||||
metaData.mArtist += "/"
|
||||
}
|
||||
metaData.mArtist += artist.Array()[0].String()
|
||||
}
|
||||
}
|
||||
|
||||
metaData.mBitrate = gjson.Get(meta, "bitrate").Int()
|
||||
metaData.mDuration = gjson.Get(meta, "duration").Int()
|
||||
metaData.mFormat = gjson.Get(meta, "format").String()
|
||||
|
||||
return metaData
|
||||
}
|
||||
Reference in New Issue
Block a user