使用StorageFolder从LAN文件夹中读取文件.GetFilesAsync返回文件夹但没有文件

时间:2017-03-12 05:27:39

标签: c# uwp video-streaming dlna

我试图编写一个基本的UWP应用程序,通过DLNA在LAN上传输媒体。我在同一局域网上有三台PC,全部运行W10 Pro,一个家庭组设置,媒体流开启并配置所有这些,但是当我运行下面的方法时,传入一个远程文件夹我所有的文件夹后面没有文件,即使我知道文件夹包含文件。

async private void LoadMediaFiles(StorageFolder mediaServerFolder)
    {
        try
        {
            MediaFolders = await mediaServerFolder.GetFoldersAsync();
            MediaList.Items.Clear();
            if (MediaFolders.Count > 0)
            {
                MediaList.Items.Clear();
                foreach (StorageFolder folder in MediaFolders)
                {
                    MediaList.Items.Add(" + " + folder.DisplayName);
                }
                MediaTitle.Text = "Media folders retrieved";
            }

            var queryOptions = new QueryOptions();
            var options = new QueryOptions();
            options.FileTypeFilter.Add(".avi");
            options.FileTypeFilter.Add(".mp4");
            options.FileTypeFilter.Add(".mkv");  
            options.FileTypeFilter.Add(".wmv");
            options.FolderDepth = FolderDepth.Deep;
            var queryFolder = mediaServerFolder.CreateFileQueryWithOptions(queryOptions);
            MediaFiles = await queryFolder.GetFilesAsync();

            if (MediaFiles.Count > 0)
            {
                foreach (StorageFile file in MediaFiles)
                {
                    MediaList.Items.Add(file.DisplayName);
                }
                MediaTitle.Text = "Media files retrieved";
            }
            else
                MediaTitle.Text = "No files found";
        }
        catch (Exception ex)
        {
            MediaTitle.Text = "Error locating media files " + ex.Message;
        }
    }

要获取我使用的已知DLNA服务器:

IReadOnlyList<StorageFolder> MediaServers = await KnownFolders.MediaServerDevices.GetFoldersAsync();

然后列出所选服务器中的文件夹。当用户点击任何文件夹时,它会调用上述方法,但我从不获取文件,只有文件夹。

我可以使用WMP或VLC等在每台PC之间进行流式传输,它只是试图通过UWP获取媒体文件来传输它不起作用......我只是得到&#34;没有找到文件&#34;在每个文件夹上。

0 个答案:

没有答案