存储文件到系统uri

本文关键字:uri 系统 存储文件 | 更新日期: 2023-09-27 18:13:36

我有一个用c#编写的Windows Metro应用程序。

下面是我用来从本地音乐库中挑选文件的代码:

FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.MusicLibrary;
openPicker.FileTypeFilter.Add(".mp3");
openPicker.FileTypeFilter.Add(".wav");
StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
   myMediaElement.Source = file; //error here
}
else
{
    //error here
}

表示不能将StorageFile转换为用于更改MediaElement源的System.Uri。如何使我的文件成为uri链接?似乎Uri("...")只接受String的文件位置

存储文件到系统uri

必须与SetSource一起使用文件流。从如何使用MediaElement播放本地媒体文件:

var file = await openPicker.PickSingleFileAsync();
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
myMediaElement.SetSource(stream, file.ContentType);