2017-10-09 10 views
0

La liste suivante répertorie les fichiers dans un dossier "Actifs" dans l'application et fonctionne correctement.uwp fichiers de liste javascript dans le dossier de la bibliothèque musicale

// Get the path to the app's Assets folder. 
var root = Windows.ApplicationModel.Package.current.installedLocation.path; 
var path = root + "\\Assets"; 
//var path = Windows.Storage.KnownFolders.musicLibrary; 
var StorageFolder = Windows.Storage.StorageFolder; 
var folderPromise = StorageFolder.getFolderFromPathAsync(path); 
folderPromise.done(function getFolderSuccess(folder) { 
    var filesInFolderPromise = folder.getFilesAsync(); 
    filesInFolderPromise.done(function getFilesSuccess(filesInFolder) { 
     s = ""; 
     filesInFolder.forEach(function forEachFile(item) { 
      s = s + item.name + "<br />"; 
     }); 
     document.getElementById('filelist').innerHTML = s; 
    }); 
}); 

Je veux l'éditer pour lister les fichiers de la musicLibrary. Quand je change le nom de chemin de

var path = Windows.Storage.KnownFolders.musicLibrary; 

Je reçois

JavaScript runtime error: The parameter is incorrect 

S'il vous plaît me aider avec la syntaxe appropriée. La fonctionnalité musicLibrary est définie dans le manifeste.

Répondre

1

L'objet est d'obtenir les async fichiers dans le dossier Musique. Ceci est fait directement comme suit:

var f = Windows.Storage.KnownFolders.musicLibrary; 
f.getFilesAsync().done(function getFilesSuccess(filelist) { 
    s = ""; 
    filelist.forEach(function forEachFile(item) { 
     s = s + item.name + "<br />"; 
    }); 
    document.getElementById('filelist').innerHTML = s; 
}); 

Merci à pnp0a03, et une relecture rapide de la documentation.

0

Pour ceux qui luttent avec la syntaxe, cette réponse est équivalente:

var f = Windows.Storage.KnownFolders.musicLibrary; 
f.getFilesAsync().then(success42); 
function success42(filelist) { 
    s = ""; 
    filelist.forEach(function forEachFile(item) { 
     s = s + item.name + "<br />"; 
    }); 
    document.getElementById('filelist').innerHTML = s; 
}