如何使用javascript在Windows8Metro应用程序中获取mp3文件的文件名和id3标记?

如何使用javascript在Windows8Metro应用程序中获取mp3文件的文件名和id3标记?,javascript,windows-8,microsoft-metro,winjs,Javascript,Windows 8,Microsoft Metro,Winjs,我想做的就是列出音乐库中的文件。我想列出文件的路径、作者和标题。Windows8JavaScriptAPI提供了简洁的异步函数。我的问题是无法将变量传递给函数,因此无法识别回调函数中的文件。以下是我目前掌握的情况: var musicLibrary = Windows.Storage.KnownFolders.musicLibrary; musicLibrary.getFilesAsync().then(function (resultLibrary) { for (var i = 0; i

我想做的就是列出音乐库中的文件。我想列出文件的路径、作者和标题。Windows8JavaScriptAPI提供了简洁的异步函数。我的问题是无法将变量传递给函数,因此无法识别回调函数中的文件。以下是我目前掌握的情况:

var musicLibrary = Windows.Storage.KnownFolders.musicLibrary;
musicLibrary.getFilesAsync().then(function (resultLibrary) {
 for (var i = 0; i < resultLibrary.length; i++) {
  var path = resultLibrary[i].path;
  resultLibrary[i].properties.getMusicPropertiesAsync().then(function (musicProperties) {
  $("#list").append('<li>'+ musicProperties.artist + ', ' + musicProperties.title + '</li>');
}
});
var musicLibrary=Windows.Storage.KnownFolders.musicLibrary;
musicLibrary.GetFileAsync().then(函数(结果库){
for(var i=0;i”+musicProperties.artist+”,“+musicProperties.title+””);
}
});
如您所见,我可以检索所有信息,但我无法将它们放在一个列表项中。有人能告诉我这是如何做到的吗?谢谢!

您可以在javascript中使用:

var musicLibrary = Windows.Storage.KnownFolders.musicLibrary;
musicLibrary.getFilesAsync().then(function (resultLibrary) {

    for (var i = 0; i < resultLibrary.length; i++) {
    (function(song){
        var path = song.path;
        song.properties.getMusicPropertiesAsync().done(function (musicProperties) {
            $("#list").append('<li>' + song.path + musicProperties.artist + ', ' + musicProperties.title + '</li>');
        })
    })(resultLibrary[i]);
    }
});
var musicLibrary=Windows.Storage.KnownFolders.musicLibrary;
musicLibrary.GetFileAsync().then(函数(结果库){
for(var i=0;i”+song.path+musicProperties.artist+”、“+musicProperties.title+”);
})
})(结果文库[i]);
}
});
您可以在javascript中使用:

var musicLibrary = Windows.Storage.KnownFolders.musicLibrary;
musicLibrary.getFilesAsync().then(function (resultLibrary) {

    for (var i = 0; i < resultLibrary.length; i++) {
    (function(song){
        var path = song.path;
        song.properties.getMusicPropertiesAsync().done(function (musicProperties) {
            $("#list").append('<li>' + song.path + musicProperties.artist + ', ' + musicProperties.title + '</li>');
        })
    })(resultLibrary[i]);
    }
});
var musicLibrary=Windows.Storage.KnownFolders.musicLibrary;
musicLibrary.GetFileAsync().then(函数(结果库){
for(var i=0;i”+song.path+musicProperties.artist+”、“+musicProperties.title+”);
})
})(结果文库[i]);
}
});

它起作用了,谢谢!我现在要调查收尾资料。它起作用了,谢谢!我现在要调查收尾资料。