require("sdk/io/file").list()
을 사용하여 컴퓨터의 오디오 파일을 나열하는 SDK
을 사용하여 Firefox addon
을 개발 중입니다.
위 메서드를 사용하여 파일 경로의 배열을 만들고이 배열을 Panel
에 연결된 contentScript
으로 전달합니다.
그러면 Panel
은 배열을 반복하며 찾은 모든 파일을 표시합니다.firefox addon의 로컬 오디오 파일에서 id3 데이터를 구문 분석합니다.
이제 각 파일에서 ID3
데이터를 읽고이 데이터를 각 파일과 함께 표시 할 수 있도록 JavaScript-ID3-Reader을 사용하려고합니다.
내가 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
이 파일 시스템에 존재합니다.
'패널'에 첨부 된 'contentScripts'가 웹 사이트 컨텍스트에서 실행되지 않습니까? 'Panel'을 만들 때 lib를 첨부 했으므로'Panel'의'contentURL'에'
'contentScript'는 웹 사이트 자체와 거의 동일한 권한을 가진 샌드 박스에서 실행됩니다 (확장 된 주체 사용). 일반 '
audio.mp3 파일에 이러한 ID3 태그가 정의되어 있습니까? console.log (태그)를 사용하여 ID3 태그를 나열하여 모두 확인하고 데스크탑 미디어 플레이어로 열어 정보가 표시되는지 확인해보십시오. ID3에는 여러 가지 버전이 있으므로 잘못된 버전을 사용 중일 수 있습니다.
출처
2015-01-12 14:25:05 dionyziz
일부 데이터가 있습니다. lib가 제공 한 테스트를 실행했습니다. [here] (http://web.ist.utl.pt/antonio.afonso/www.aadsm.net/libraries/id3/), 'ID3' 태그를 검사하기위한 결과는'{ "Track": "1/12", "Comment": "", "Lyrics": ""}입니다. 그래서'console.log (tags)'를 사용하면'{}'대신에 무엇인가가 출력되어야합니다, 맞습니까? – bobbyrne01