我注意到,在Windows 7中每個媒體文件的shell屬性中,視頻文件的持續時間實際上稱爲「長度」。任何人都知道使用shell訪問length屬性的快速方法?在C中訪問媒體文件的shell屬性「Length」(aka持續時間)
0
A
回答
2
因此,只要知道該屬性的等效索引號,我就發現了一種非常簡短快捷的方式來訪問媒體文件的「Length」shell屬性或任何shell屬性。
,你首先需要在你的項目中添加引用SHELL32這樣的:
右鍵單擊項目
單擊添加引用添加引用
點擊.COM標籤窗口
選擇Microsoft Shell Controls and Automation
單擊確定
然後用SHELL32添加;在您的代碼隱藏。 現在你可以提取每一個媒體文件的長度屬性與GetDetailsOf()方法的文件夾中,在foreach循環:
string[] supportedExtensions = new[] { ".mov", ".mp4", ".avi", ".mpeg", ".mpg", ".wmv", ".mkv", ".m4v", ".flv" };
var allFiles = Directory.GetFiles(SelectedFolderPath, "*.*", SearchOption.TopDirectoryOnly).Where(s => supportedExtensions.Contains(System.IO.Path.GetExtension(s).ToLower()));
foreach (string name in allFiles)
{
Shell shell = new Shell();
Folder rFolder = shell.NameSpace(@SelectedFolderPath);
FolderItem rFiles = rFolder.ParseName(System.IO.Path.GetFileName(name));
string videosLength = rFolder.GetDetailsOf(rFiles, 27).Trim();
}
其中,「SelectedFolderPath」應該是要掃描和文件夾在GetDetailsOf方法中看到的作爲參數的數字27是「Length」Shell屬性的索引號,具體取值爲。
因此,現在您在##:##:##格式的字符串「videosLength」中擁有媒體文件的持續時間。
希望這有助於! 乾杯!
相關問題
- 1. 如何從mp4媒體文件獲取持續時間由C#
- 2. 如何確定媒體文件的持續時間?
- 3. AnimationDrawable持續時間屬性
- 4. 應用程序在計算媒體文件的持續時間時掛起
- 5. JPlayer媒體文件訪問
- 6. 在Windows 8中獲取媒體文件屬性c#
- 7. 查看QTMovie持續時間屬性?
- 8. HTML5媒體屬性問題
- 9. html5媒體屬性問題
- 10. html5媒體屬性問題
- 11. HTML5媒體屬性問題
- 12. HTML5媒體捕獲在移動 - 視頻持續時間
- 13. 當我們訪問C#中字符串的'Length'屬性時會發生什麼?
- 14. Angular 2,視頻持續時間訪問。
- 15. 根據Google Analytics訪問持續時間
- 16. C#性能計數器持續時間#
- 17. Android的媒體持續時間返回錯誤值
- 18. 什麼是measurment的媒體持續時間單位MediaMetadataRetriever
- 19. 獲得媒體持續時間,不需要下載整個文件
- 20. 在Silverlight中綁定動畫的持續時間屬性
- 21. 在.h文件中聲明的實體的訪問屬性
- 22. JavaFX:將時間軸的持續時間綁定到屬性
- 23. 如何從Windows媒體服務獲取持續時間值9
- 24. UIImageView動畫的一些持續時間後的訪問事件
- 25. 禁止訪問django apache2媒體文件
- 26. 訪問媒體文件信息
- 27. Windows Phone 8:媒體文件訪問
- 28. Django。無法訪問media_url媒體文件
- 29. 是否有可能在Flash中獲得流媒體MP3的持續時間
- 30. 訪問所有媒體文件的內部存儲空間