2

是否有可用于查看可从脚本(特别是 JScript)访问的音频文件(WMA、MP3 或 WAV)的持续时间 (HH:MM:SS) 的 Windows dll 或实用程序?

我知道有一个,或者其他东西可以读取文件元数据,但我不熟悉它。

4

1 回答 1

4

您可以使用GetDetailsOfWindows ShellFolder对象的方法来获取音频文件的长度。此技术支持其元数据可由 Windows 资源管理器本地读取和显示的所有音频文件类型。

但是,请注意 Length 属性的索引在不同的 Windows 版本上有所不同:在 Windows XP/2003 上为 21,在 Windows Vista+ 上为 27。有关详细信息,请参阅此页面我的答案。您需要在脚本中考虑到这一点。

示例代码:

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

于 2013-05-15T11:35:44.727 回答