おいプログラミングコミュニティ。そのため、TagLib Sharp ライブラリを使用して、.mp3 からメタデータを取得しています。1つの例外を除いて、すべてが順調に進んでいます。MP3 から整数の評価を読み取ることができます (Musicbee を設定します)。意味
Stars
5 = 255
4 = 196
3 = 128
2 = 64
1 = 1
unrated=0
私が直面している問題は、半分の星評価を設定できる MusicBee を使用していることです。したがって、評価から得られるべき価値は次のとおりです。
Stars
5 = 255
4.5 = 224
4 = 196
3.5 = 160
3 = 128
2.5 = 96
2 = 64
1.5 = 48
1 = 1
unrated=0
ただし、これは TagLib が読み取っているものです。
5 = 255
4.5 = 0
4 = 196
3.5 = 0
3 = 128
2.5 = 0
2 = 64
1.5 = 0
1 = 1
これは、評価を取得するために使用しているコードです。
TagLib.File file = TagLib.File.Create(fi.FullName);
TagLib.Tag tag = file.GetTag(TagLib.TagTypes.Id3v2);
TagLib.Id3v2.PopularimeterFrame tagInfo = TagLib.Id3v2.PopularimeterFrame.Get((TagLib.Id3v2.Tag)tag, "Windows Media Player 9 Series", true);
byte rate = tagInfo.Rating;
//This is where I'm storing the value as a string to process it later
id3.Rating = tagInfo.Rating.ToString();
私の質問は、まあ、二重です。「Windows Media Player 9シリーズ」の代わりに使用すべき/使用できる別のusrはありますか? または、mp3 から評価を取得するためのより良い方法はありますか? Musicbee の半星評価を放棄する必要がありますか?
また、taglib に「ヘルプ」ファイルはありますか? 私が見つけることができるすべてがここにあるようです。上記のコードで何を「true」に設定しているのかさえわかりません。
事前に助けてくれてありがとう!
*更新* これは、タイプミスを修正するだけの回答ではありません:
1 = 24 to
1 = 1