2013-05-14 5 views
2

Есть ли DLL или утилита Windows, которая может использоваться для просмотра продолжительности (HH: MM: SS) аудиофайла (WMA, MP3 или WAV), который может быть доступ к скрипту (в частности, JScript)?Получить длительность аудиофайла с помощью DLL или утилиты Microsoft

Я знаю, что есть один, или что-то еще может читать метаданные файлов, но я не знаком с ним.

ответ

4

Вы можете использовать метод 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

+0

Спасибо, это очень много того, что мне было нужно. Я знал, что должен быть простой способ сделать это. Также +1 для указания различий в ОС. –

 Смежные вопросы

  • Нет связанных вопросов^_^