audio - 通过 Microsoft DLL 或实用程序获取音频文件持续时间

标签 audio mp3 metadata jscript wma

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

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

最佳答案

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

但是,请注意,不同 Windows 版本上的 Length 属性的索引有所不同:在 Windows XP/2003 上为 21,在 Windows Vista+ 上为 27。请参阅this pagethis 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

关于audio - 通过 Microsoft DLL 或实用程序获取音频文件持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16552227/

相关文章:

html - 当背景视频停止播放时,音频停止播放

ios - 如何预加载来自 Web 链接的 mp3 流

c# - 从程序集元数据中读取/获取 TypeRef 表

python - 检测具有不同比特率和/或不同 ID3 标签的重复 MP3 文件?

apache-flex - 在 Flash/Flex 应用程序中使用 Ogg Vorbis

java - 在 liferay 中搜索带有元数据的内容

ios - 编辑 PHAssets 时如何保留原始照片元数据?

ios - 多声道音频 iOS(需要 4 个同时输入)

php - PHP录制声音并使用progressbar上传php

java - 音频转换的质量问题