MediaSource.CreateFromUri(...)无法检索MediaSource的文件。

时间:2018-11-24 18:27:25

标签: c# uwp

这是我的代码........

public  MediaPlaybackItem GetMediaPlaybackItemFromPath(string path)
        {
            //StorageFile file = await StorageFile.GetFileFromPathAsync(path);
            var source = MediaSource.CreateFromUri(new Uri(path));

            return new MediaPlaybackItem(source);
        }

如果使用此方法,则无法播放音乐。但是,如果我尝试这样做,我可以播放音乐。

public async Task<MediaPlaybackItem> GetMediaPlaybackItemFromPathAsync(string path)
        {
            StorageFile file = await StorageFile.GetFileFromPathAsync(path);
            var source = MediaSource.CreateFromStorageFile(file);

            return new MediaPlaybackItem(source);
        }

这是什么问题?我正在将Mediaplaybacklist用于MediaPlayer.Source。如何使用第一种方法获取正确的MediaSource?请帮帮我。

1 个答案:

答案 0 :(得分:1)

您无法直接将文件路径参数传递给CreateFromUri。通常,Uri参数是http协议地址,例如http://www.testvideo.com/forkvideo/test.mp4。但是我们可以通过uwp文件访问权限uri scheme传递文件路径。

例如:

存储在安装文件夹中的媒体文件。

ms-appx:///

本地文件夹。

ms-appdata:///local/

临时文件夹。

ms-appdata:///temp/

有关更多信息,您可以参考此document