0

我已经对这个主题进行了一些研究,但无法得到关于如何去做的明确答案。我尝试了以下方法:

<script type="text/javascript" src="../binaryajax/binaryajax.js" ></script>
<script type="text/javascript" src="id3.js" ></script>

var file = "mymusicfile.mp3";
// define your own callback function
function mycallback() {
// either call ID3.getAllTags([file]) function to return object holding all the tags
alert(
    "All tags in this file: " + ID3.getAllTags(file).toSource()
);
// or call ID3.getTag([file], [tag]) to get a specific tag
alert(
    "Title: " + ID3.getTag(file, "title") + " by artist: " + ID3.getTag(file, "artist")
);
}
ID3.loadTags(file, mycallback);

第一种方法 (getAllTags) 不允许我的脚本运行,第二种方法为我所有 mp3 的标题和艺术家返回 null。

信息来源:http: //blog.nihilogic.dk/2008/08/reading-id3-tags-with-javascript.html

我知道这些方法使用的是 ID3(v1),所以这可能是问题所在。要么,或者我认为 mp3 可能不包含 ID3 信息。但是,如果有人可以提供一些关于如何做到这一点的见解,或者如何识别我的 mp3 是否包含 ID3 信息以及它是 v1 还是 v2,那就太好了。

编辑:我应该说,我正在通过 Blob URL 访问文件,因为我正在开发的应用程序让用户在他们的计算机上选择一个目录,然后在文件中查询媒体文件。在这样做时,您无法访问文件的绝对路径,但您仍然可以访问文件信息并使用该文件。

4

1 回答 1

0

供其他人使用:这对我来说效果很好:)

github.com/aadsm/JavaScript-ID3-Reader/tree/master/src 使用项目仓库

于 2012-08-09T14:23:47.877 回答