本文整理匯總了Golang中github.com/dhowden/tag.Metadata.Picture方法的典型用法代碼示例。如果您正苦於以下問題:Golang Metadata.Picture方法的具體用法?Golang Metadata.Picture怎麽用?Golang Metadata.Picture使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/dhowden/tag.Metadata
的用法示例。
在下文中一共展示了Metadata.Picture方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: dataURL
func dataURL(m tag.Metadata) string {
p := m.Picture()
if p == nil {
return ""
}
if p.MIMEType == "-->" {
return string(p.Data)
}
return fmt.Sprintf("data:%s;base64,%s", p.MIMEType, base64.StdEncoding.EncodeToString(p.Data))
}
示例2: printMetadata
func printMetadata(m tag.Metadata) {
fmt.Printf("Metadata Format: %v\n", m.Format())
fmt.Printf("File Type: %v\n", m.FileType())
fmt.Printf(" Title: %v\n", m.Title())
fmt.Printf(" Album: %v\n", m.Album())
fmt.Printf(" Artist: %v\n", m.Artist())
fmt.Printf(" Composer: %v\n", m.Composer())
fmt.Printf(" Genre: %v\n", m.Genre())
fmt.Printf(" Year: %v\n", m.Year())
track, trackCount := m.Track()
fmt.Printf(" Track: %v of %v\n", track, trackCount)
disc, discCount := m.Disc()
fmt.Printf(" Disc: %v of %v\n", disc, discCount)
fmt.Printf(" Picture: %v\n", m.Picture())
fmt.Printf(" Lyrics: %v\n", m.Lyrics())
}
示例3: Open
// Open the given file and return an http.File which contains the artwork, and hence
// the Name() of the returned file will have an extention for the artwork, not the
// media file.
func (afs artworkFileSystem) Open(ctx context.Context, path string) (http.File, error) {
f, err := afs.FileSystem.Open(ctx, path)
if err != nil {
return nil, err
}
defer f.Close()
stat, err := f.Stat()
if err != nil {
return nil, err
}
var m tag.Metadata
m, err = tag.ReadFrom(f)
if err != nil {
return nil, fmt.Errorf("error extracting picture from '%v': %v", path, err)
}
p := m.Picture()
if p == nil {
return nil, fmt.Errorf("no picture attached to '%v'", path)
}
name := stat.Name()
if p.Ext != "" {
name += "." + p.Ext
}
return &file{
ReadSeeker: bytes.NewReader(p.Data),
stat: &fileInfo{
name: name,
size: int64(len(p.Data)),
modTime: stat.ModTime(),
},
}, nil
}