請原諒我,如果這個問題已經在這個網站的某個地方回答了,但是我沒有找到任何東西,當我搜索它。我已經使用taglib-sharp在C#中爲.mp3文件編寫了ID3v1/2標籤編輯器,並且taglib-sharp將曲目編號視爲uint編號。根據id3.org:好的方式來編寫ID3v2軌道號在C#中的字符串?
「在組磁道數/位置」的幀是包含在其原始 記錄音頻文件的順序號的數字串 。這可以用「/」字符和數字 字符串進行擴展,該字符串包含原始 記錄中的軌道/元素總數。例如。 「4/9」。
個人我不使用「/」,但我傾向於寫「03」而不是「3」。有沒有簡單的方法直接將曲目編號作爲字符串寫入標記,而不是通過uint?
另外,側面的問題:taglib似乎並不支持一些標籤,特別是URL,Orig。藝術家,發佈者和編碼。任何想法如何處理這些?
我知道你不能隱式地在字符串和int/uint之間進行轉換。問題在於uint和string之間的轉換是由taglib完成的,如果您只使用taglib,則必須使用uint,這會破壞有關額外零,破折號等的任何信息,然後再由庫轉換回字符串。然而,我不知道如何修改庫或如何直接處理標籤。 – Eric
如果您只想使用'03'進行顯示,您可以使用我的解決方案。如果確實用於存儲,則會丟失信息。所以,如果這確實是一個問題,那麼除非您設法擴展它,否則您不能使用taglib-sharp。這個庫不遵循ID3規範的事實確實是一個問題。檢查他們的網站,看看你是否可以下載他們的來源,是否允許修改它。 – Guillaume