Javascript 让musicmetadata在浏览器中工作
以下是我尝试使用的库: 有些文档演示了如何使用它,但他们的文档使用名为Javascript 让musicmetadata在浏览器中工作,javascript,filereader,Javascript,Filereader,以下是我尝试使用的库: 有些文档演示了如何使用它,但他们的文档使用名为fs.createReadStream的函数打开文件。这个功能是为Node的用户提供的,我认为在浏览器环境中是不可用的(或不适用的)。我假设我需要使用文件阅读器?本例中的文件将来自字段 以下是图书馆文档中的一个示例: var parser = mm(fs.createReadStream('sample.mp3'), function (err, metadata) { if (err) throw err; conso
fs.createReadStream
的函数打开文件。这个功能是为Node的用户提供的,我认为在浏览器环境中是不可用的(或不适用的)。我假设我需要使用文件阅读器
?本例中的文件将来自
字段
以下是图书馆文档中的一个示例:
var parser = mm(fs.createReadStream('sample.mp3'), function (err, metadata) {
if (err) throw err;
console.log(metadata);
});
我试着用这个,但没用:
$("input[type=file]").change(function(event) {
var reader = new FileReader();
reader.onload = function(e) {
var blob = reader.result;
var parser = new musicmetadata(blob);
parser.on('metadata', function (result) {
console.log("MP3 tags!!!", result);
});
}
reader.readAsBinaryString($(this)[0].files[0]);
});
编辑:我刚刚发现了浏览器示例:
我的代码是:
$("input[type=file]").change(function(event) {
var parser = musicmetadata($(this)[0].files[0]);
parser.on('metadata', function(result) {
console.log("MP3 tags!!!");
});
});
当我运行它时,会出现以下错误:
Uncaught TypeError: Cannot read property 'hasOwnProperty' of undefined
你看了吗?似乎
musicmetadata
不需要Blob
,而是文件
。我会尝试将$(此)[0]。文件[0]
直接传递到musicmetadata
方法。@Frxstrem我已经尝试过了,它不起作用。因此,似乎您应该只使用musicmetadata(…)
,而不是新的musicmetadata(…)
。