C# 擷取mp3檔案的歌曲時間長度

來源:互聯網
上載者:User

標籤:類型   介面   res   sys   屬性   express   sha   lib   cas   

添加命名空間:
    using Shell32;
    using System.Text.RegularExpressions;
添加引用:COM組件的Microsoft Shell Controls And Automation

string dirName = Path.GetDirectoryName(SongPath);
SongName = Path.GetFileName(SongPath);//獲得歌曲名稱
FileInfo fInfo = new FileInfo(SongPath);
ShellClass sh = new ShellClass();
Folder dir = sh.NameSpace(dirName);
FolderItem item = dir.ParseName(SongName);
SongTime = Regex.Match(dir.GetDetailsOf(item, -1), "\\d:\\d{2}:\\d{2}").Value;//擷取歌曲時間  然後出現了這個:

未處理的例外狀況:  System.InvalidCastException: 無法將類型為“Shell32.ShellClass”的 COM 物件強制轉換為介面類型“Shell32.IShellDispatch6”。此操作失敗的原因是對 IID 為“{286E6F1B-7113-4355-9562-96B7E9D64C54}”的介面的 COM 組件調用 QueryInterface 因以下錯誤而失敗: 不支援此介面 (異常來自 HRESULT:0x80004002 (E_NOINTERFACE))。

這個是因為vs內建的Interop.Shell32.dll版本是1.0 太老了,於是在網上找到了1.2版本的,然後改成引用1.2版本。再將引用屬性裡面的 嵌入互操作類型  改為false 就行了

dll的:http://download.csdn.NET/detail/u013529927/8812075


  

C# 擷取mp3檔案的歌曲時間長度

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.