rss 피드를 반환 할 수 있도록 id3-parser npm 모듈을 사용하여 구문 분석하려는 mp3로 가득 찬 폴더가 있습니다.id3-parser를 사용하여 node.js에서 id3 태그를 비동기 적으로 파싱하는 데 도움이 필요합니다.
id3.parse(filebuffer).then(function(tag){
console.log(tag.title);
});
로, ID3 파서 모듈은 약속-A 플러스 모듈을 사용하십시오 ID3 파서 문서는이 구조를 사용했다. 내 코드의 문제는 태그가 스택 맨 끝에 읽히는 것입니다.
var id3 = require('id3-parser');
var fs = require('fs');
fs.readdir("podcasts", function (err, files) {
files.forEach(function (file) {
var stats = fs.statSync("podcasts/" + file);
if (stats.isFile()) {
var fbuff = fs.readFileSync("podcasts/" + file);
id3.parse(fbuff).then(function (tag) {
console.log("***"+tag.title);
});
console.log("Parsed id3 tag " + file);
}
console.log("Done file");
});
console.log("Done readdir");
});
출력은 다음과 같습니다 :
Parsed id3 tag test.mp3
Done file
Done readdir
***Title tag
나는 내 인생이 태그가 구문 분석을 제대로 기다려야하는 방법을 알아낼 수 없습니다 위해 여기 내 테스트 코드입니다. 구문 분석은 rss 피드에 넣기 전에 수행해야합니다 (rss 모듈을 사용하여 xml 피드를 작성하는 데 아무런 문제가 없습니다 - 코드는 표시되지 않음). 나는 약속에 대해 읽었으며 나는 뭔가를 놓치고있다. 나는 단지 내 코드를 완전히 리팩터링 할 필요가 있지만 모든 파일 (현재는 readdir과 forEach를 사용)을 읽고 각 파일을 피드에 추가하는 방법을 모르겠다.
감사합니다. 솔루션에 연결된 모든 것을 이해하려고합니다. 아직 테스트하지 않았습니다. – dskrad
와우 이것이 내가 필요한 것입니다. 감사 :) – dskrad