【问题标题】:uwp javascript list files in music library folderuwp javascript 列出音乐库文件夹中的文件
【发布时间】:2018-03-21 06:06:24
【问题描述】:

以下列出了应用程序中“资产”文件夹中的文件并正常运行。

// 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;
    });
});

我想修改它以列出音乐库中的文件。当我将路径名更改为

var path = Windows.Storage.KnownFolders.musicLibrary; 

我明白了

JavaScript runtime error: The parameter is incorrect

请帮助我使用适当的语法。 musicLibrary 功能在清单中设置。

【问题讨论】:

    标签: javascript uwp


    【解决方案1】:
    Windows.Storage.KnownFolders.musicLibrary
    

    不是路径字符串。这是 StorageFolder 类。因此 getFolderFromPathAsync 的调用失败。请参考微软文档。

    KnownFolders Class (You can select 'JavaScript' from the language combobox on the right pane)

    【讨论】:

      【解决方案2】:

      对象是从 Music 文件夹中异步获取文件。这直接如下完成:

      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;
      });
      

      感谢 pnp0a03,并快速重新阅读文档。

      【讨论】:

        【解决方案3】:

        对于那些在语法上苦苦挣扎的人,这个答案是等价的:

        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;
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-06-09
          • 1970-01-01
          • 1970-01-01
          • 2017-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-21
          相关资源
          最近更新 更多