试图提取音频元数据Javascript

时间:2017-05-02 03:12:44

标签: javascript html audio

我是JavaScript的新手,我正在尝试从文件中提取音频元数据。为此,我尝试将音频元数据库实现到我的代码中(https://github.com/tmont/audio-metadata)。但是,当我尝试运行示例代码时,我不断收到错误消息“变量未定义”。

<!DOCTYPE html>
<html>
<head>
    <title>
        Kenson's Music Player
    </title>
    <link rel="stylesheet" href="player.css" type="text/css" />
    <script type="text/javascript" src="audio-metadata.min.js"></script>
</head>
<body>
<script type="text/javascript">
    var req = new XMLHttpRequest();
    req.open('GET', 'example.mp3', true);
    req.responseType = 'arraybuffer';

    req.onload = function() {
        var metadata = AudioMetaData.id3v2(req.response);
        /*
            {
                "TIT2": "Foobar",
                "title": "Foobar",
                "TPE1": "The Foobars",
                "artist": "The Foobars",
                "TALB": "FUBAR",
                "album": "FUBAR",
                "year": "2014",
                "TRCK": "9",
                "track": "9",
                "TSSE": "Lavf53.21.1",
                "encoder": "Lavf53.21.1"
            }
        */
    };

    req.send(null);
</script>
</body>

1 个答案:

答案 0 :(得分:0)

audio-metadata的文档似乎不正确,您应该使用AudioMetadata代替AudioMetaData

具体而言,可以在项目的package.json文件中找到生成您正在使用的文件audio-metadata.min.js的脚本:

"build": "./node_modules/.bin/browserify -s AudioMetadata -e index.js --bare > audio-metadata.js"

此处-s AudioMetadata给出了使用该软件包时应在浏览器中使用的变量的名称。

相关问题