本文整理汇总了Golang中github.com/dhowden/tag.Metadata.Raw方法的典型用法代码示例。如果您正苦于以下问题:Golang Metadata.Raw方法的具体用法?Golang Metadata.Raw怎么用?Golang Metadata.Raw使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/dhowden/tag.Metadata
的用法示例。
在下文中一共展示了Metadata.Raw方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: extractID3
// extractID3 attempts to extract MusicBrainz Picard tags from m.Raw(), where m.Format
// is assumed to be a supported version of ID3.
func extractID3(m tag.Metadata) Info {
var txxx, ufid string
switch m.Format() {
case tag.ID3v2_2:
txxx, ufid = "TXX", "UFI"
case tag.ID3v2_3, tag.ID3v2_4:
txxx, ufid = "TXXX", "UFID"
}
i := Info{}
for k, v := range m.Raw() {
switch {
case strings.HasPrefix(k, txxx):
if str, ok := v.(*tag.Comm); ok {
i.set(str.Description, str.Text)
}
case strings.HasPrefix(k, ufid):
if id, ok := v.(*tag.UFID); ok {
if id.Provider == UFIDProviderURL {
i.set(Recording, string(id.Identifier))
}
}
}
}
return i
}
示例2: extractMP4Vorbis
// extractMP4Vorbis attempts to extract MusicBrainz Picard tags from m.Raw(), where m.Format
// is assumed to be MP4 or VORBIS.
func extractMP4Vorbis(m tag.Metadata) Info {
i := Info{}
for t, v := range m.Raw() {
if s, ok := v.(string); ok {
i.set(t, s)
}
}
return i
}