我有一个我正在LocalCacheFolder
保存的媒体文件(因为我不想让它备份)。我想通过将MediaElement
设置为文件的URI来使用Source
播放文件。问题是我不知道URI会是什么样子。
这是保存文件的代码:
StorageFolder localFolder = ApplicationData.Current.LocalCacheFolder;
var file = await localFolder.CreateFileAsync(id, CreationCollisionOption.ReplaceExisting);
await FileIO.WriteBytesAsync(file, video);
如果我保存到LocalFolder
,则URI看起来像这样:
ms-appdata:///local/myfile
但是LocalCacheFolder
会是什么样子?
更新
所以,我已经做了一些测试,看起来URI应该是
ms-appdata:///localcache/myfile
如果我使用StorageFile.GetFileFromApplicationUriAsync
来访问该文件,这非常有效,但如果我将其设置为MediaElement
的来源,则会出现无效的文件路径错误。
为了确保文件没有问题,我改变了我要使用的代码
ApplicationData.Current.LocalFolder
和ms-appdata:///local/myfile
样式的URI,一切都很完美。
答案 0 :(得分:0)
如果您想在StorageFile
中玩MediaElement
,则应使用SetSource
方法:
var fileStream = await myStorageFile.OpenAsync(FileAccessMode.Read);
mediaElement.SetSource(fileStream, myStorageFile.ContentType);