Я разрабатываю Firefox addon
с помощью SDK
, в котором перечислены аудиофайлы на вашем компьютере с помощью require("sdk/io/file").list()
.
Я создаю массив путей к файлам, используя описанный выше метод, и передаю этот массив в contentScript
, прикрепленный к Panel
.
Затем 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
существует в файловой системе.