繁体   English   中英

如何在 JavaScript 中从 MP3 文件中读取元数据属性?

[英]How do I read metadata properties from MP3 file in JavaScript?

我知道以前有人问过类似的问题,特别是这个问题,但所有的答案通常都涉及两件事之一,我想避免这两件事:

  1. 导入新库,或者,

  2. 使用 FileReader,据我所知,它只适用于用户输入的文件。

我正在制作一个小游戏,其中包括在选项菜单中切换多个音乐曲目的选项,我希望能够显示曲目标题和艺术家。 我可以调整我的歌曲对象,以便我将标题、艺术家等信息输入到代码中,但将其作为元数据包含在文件中似乎更简单,这样我只需输入文件名。 有什么方法可以在不使用额外库的情况下从用户未输入的文件中读取元数据? 这是我正在使用的 Song 对象,尽管它非常简单:

var Song = function(filename)
{
    this.intro = new Audio(); // the introduction of the song that leads into a loop
    this.intro.src = filename + "-intro.mp3";
    var temp = this;
    this.intro.addEventListener("ended", function() {
        this.currentTime = 0;
        temp.loop.currentTime = 0;
        temp.loop.play();
    });

    this.loop = new Audio(); // the main file that will be looped. Also has the relevant metadata
    this.loop.src = filename + ".mp3";
    this.loop.addEventListener("ended", function() {
        this.currentTime = 0;
        this.play();
    });
};

var songs = [
    new Song("track1"),
    new Song("track2"),
    new Song("track3")
];

为此使用 mutag

在你的 html 添加:

<script src="sanjit1.github.io/mutag/dist/mutag.min.js"></script>

并在您的 js 中添加:

const mutag = window.mutag;

并使用变量filename

mutag.fetch(filename).then((tags) => {
      console.log(tags);
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM