Вы можете использовать метод GetDetailsOf
объекта Windows Shell Folder
, чтобы получить длину аудиофайла. Этот метод поддерживает все типы аудиофайлов, метаданные которых могут быть прочитаны и отображены проводником Windows изначально.
Однако обратите внимание, что индекс атрибута Length отличается в разных версиях Windows: это 21 на Windows XP/2003 и 27 на Windows Vista +. См. this page и this my answer. Вам нужно будет учитывать это в своем сценарии.
Пример кода:
var LENGTH = 27; // Windows Vista+
// var LENGTH = 21; // Windows XP
var oShell = new ActiveXObject("Shell.Application");
var oFolder = oShell.Namespace("C:\Music");
var oFile = oFolder.ParseName("Track.mp3");
WScript.Echo(oFolder.GetDetailsOf(oFile, LENGTH));
Пример вывода:
00:05:18
Спасибо, это очень много того, что мне было нужно. Я знал, что должен быть простой способ сделать это. Также +1 для указания различий в ОС. –