2

おいプログラミングコミュニティ。そのため、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
4

2 に答える 2