本文整理汇总了C#中TagLib.SetField方法的典型用法代码示例。如果您正苦于以下问题:C# TagLib.SetField方法的具体用法?C# TagLib.SetField怎么用?C# TagLib.SetField使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TagLib
的用法示例。
在下文中一共展示了TagLib.SetField方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: StoreRating
// Scans the file for ogg rating/playcount tags as defined by the Quod Libet standard
// All applicable tags are overwritten with the new values, regardless of tag author
public static void StoreRating(int rating, TagLib.Ogg.XiphComment xiphtag)
{
ArrayList ratingFieldnames = new ArrayList();
// Collect list of rating tags to be updated:
foreach (string fieldname in xiphtag)
{
if (fieldname.StartsWith(RatingPrefix, StringComparison.OrdinalIgnoreCase)
|| String.Compare(fieldname, MediaMonkeyRatingField, StringComparison.OrdinalIgnoreCase) == 0)
{
ratingFieldnames.Add(fieldname);
}
}
// Add "HOWLER" tags if no rating tags were found and track is not "unrated":
if (ratingFieldnames.Count == 0 && rating >= 0)
{
ratingFieldnames.Add(RatingPrefix + HowlerName);
}
if (rating < 0)
{
foreach (string ratingname in ratingFieldnames)
xiphtag.RemoveField(ratingname);
}
else
{
int bansheeRating = (int) Math.Ceiling(rating / 20.0);
string bansheeRatingString = BansheeToOgg(bansheeRating);
foreach (string ratingname in ratingFieldnames)
{
if (String.Compare(ratingname, String.Concat(RatingPrefix, HowlerName), StringComparison.OrdinalIgnoreCase) == 0
|| String.Compare(ratingname, MediaMonkeyRatingField, StringComparison.OrdinalIgnoreCase) == 0)
{
xiphtag.SetField(ratingname, rating.ToString(CultureInfo.InvariantCulture));
}
else if (ratingname.StartsWith(RatingPrefix, StringComparison.OrdinalIgnoreCase))
{
xiphtag.SetField(ratingname, bansheeRatingString);
}
}
}
}
示例2: StorePlayCount
public static void StorePlayCount(int playcount, TagLib.Ogg.XiphComment xiphtag)
{
ArrayList playcountFieldnames = new ArrayList();
// Collect list of playcount tags to be updated:
foreach (string fieldname in xiphtag)
{
if (fieldname.StartsWith(PlaycountPrefix, StringComparison.OrdinalIgnoreCase))
{
playcountFieldnames.Add(fieldname);
}
}
// Add "BANSHEE" tags if no playcount tags were found:
if (playcountFieldnames.Count == 0)
{
playcountFieldnames.Add(PlaycountPrefix + HowlerName);
}
string oggPlaycount = playcount.ToString(CultureInfo.InvariantCulture);
foreach (string playcountname in playcountFieldnames)
{
xiphtag.SetField(playcountname, oggPlaycount);
}
}