2011-12-22 20 views
1

我開發用於編輯MP3標籤,如標題,專輯等應用......檢查音樂文件評級,VB.NET +的WinForms

但我想讓可以編輯文件評級,與文件URL一樣,就像使用Windows屬性對話框或Windows資源管理器時一樣。

但是,我在網上搜索過,在StackOverflow中搜索,但我什麼也沒找到。

Cumps,
灼燒

+0

編輯標籤數據時出現問題嗎?您是否使用UltraID3Lib或C#Id3等現有的mp3標籤庫,或者正在編寫自己的?如果您沒有使用圖書館,請查看Popularimeter(POPM)框架。 – Jay 2011-12-22 13:27:10

+0

我正在使用TagLib Sharp。但是,它似乎沒有用於編輯評級的屬性,因爲它是一個操作系統特定的功能(Windows),我認爲。至少,我不知道Mac OS GNU/Linux OS是否具有此功能。 – 2011-12-22 14:46:55

回答

2

在標籤庫,夏普有一個名爲PopularmeterFrame類。您將需要使用它來編輯評分。

這是一個簡單的代碼,說明如何將特定mp3的評分設置爲5星。

 Dim Fi As TagLib.File = TagLib.File.Create("E:\SomeSong.mp3") 
     Dim tag As TagLib.Tag = Fi.GetTag(TagLib.TagTypes.Id3v2) 

     Dim PopM As TagLib.Id3v2.PopularimeterFrame = TagLib.Id3v2.PopularimeterFrame.Get(tag, "WindowsUser", True) 


     PopM.Rating = 255 

     Fi.Save() 
     Fi.Dispose() 

該評級是一個字節,所以你需要去與這樣的事情讓你的明星等價計算:

未評級= 0,1 = 1-63,2 = 64 127,3 = 128-191,4 = 192-254,5 = 255

正如您所提到的,並非所有內容都會讀取標籤中的評分,例如我相信iTunes會使用元數據。但它不是一個Windows特有的功能。

This Documentation可能是有用的,即使它有點過時。

+0

嗨。感謝您的答案,它幾乎可以滿足我想要的任何需求,除非...使用Windows。當我在應用程序中評定音樂時,它會正確保存,當我再次打開它時,會向我顯示評分。但如果我用Windows資源管理器或Windows Media Player打開它,它不起作用。有沒有辦法讓它工作? – 2011-12-23 12:10:47

+0

這對我有用,但我的標籤都是v2.3。我的猜測是,它與id3標籤的版本相關聯。 Windows資源管理器和Windows Media Player無法處理ID3v2.4標記。 Windows可以理解ID3v2直到幷包括2.3版本。 – Jay 2011-12-23 13:45:50

+0

爲了防萬一,請確保在獲取或創建框架時,將您的「WindowsUser」字符串替換爲要修改的Windows用戶名。 – Jay 2011-12-23 14:13:58