这是我的代码........
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?请帮帮我。
答案 0 :(得分:1)
您无法直接将文件路径参数传递给CreateFromUri
。通常,Uri参数是http
协议地址,例如http://www.testvideo.com/forkvideo/test.mp4
。但是我们可以通过uwp文件访问权限uri scheme传递文件路径。
例如:
存储在安装文件夹中的媒体文件。
ms-appx:///
本地文件夹。
ms-appdata:///local/
临时文件夹。
ms-appdata:///temp/
有关更多信息,您可以参考此document。