【发布时间】:2015-01-12 13:36:56
【问题描述】:
我正在使用SDK 开发一个Firefox addon,它使用require("sdk/io/file").list() 列出您计算机上的音频文件。
我使用上述方法构建了一个文件路径数组,并将此数组传递给附加到Panel 的contentScript。
然后Panel 循环遍历数组并显示找到的所有文件。
现在我正在尝试使用JavaScript-ID3-Reader,这样我就可以从每个文件中读取ID3 数据并将这些数据显示在每个文件旁边。
我一直在尝试this(读取本地文件),从contentScript 内部,例如..
var f = new File([""], "file:///home/user/audio.mp3");
ID3.loadTags("audio.mp3", function () {
var tags = ID3.getAllTags("audio.mp3");
console.log(tags.comment + " - " + tags.track + ", " + tags.lyrics);
}, {
dataReader: FileAPIReader(f)
});
但我得到的输出是..
undefined - undefined, undefined
/home/user/audio.mp3 包含以下ID3 数据,与http://web.ist.utl.pt/antonio.afonso/www.aadsm.net/libraries/id3/ 一起找到..
Artist
A Perfect Circle
Title
Annihilation
Album
eMOTIVe
Year
2004
Comment
Genre
Pop/Rock
Track
1/12
Lyrics
这是我正在尝试的另一个测试..
function getID3 (file) {
var url = file.name;
console.log(url); // console.log: addon: /home/user/audio.mp3
ID3.loadTags(url, function () {
var tags = ID3.getAllTags(url);
console.log(tags); // console.log: addon: {}
console.log(tags.artist); // console.log: addon: null
}, {
dataReader: new FileAPIReader(file)
});
}
var f = new File([""], "file:///home/rob/audio.mp3", {type : "audio/mpeg"});
getID3(f);
有人知道这可能有什么问题吗? /home/user/audio.mp3 确实存在于文件系统中。
【问题讨论】:
标签: javascript firefox-addon firefox-addon-sdk id3