我只能播放应用程序存储中的文件,但是,我必须播放来自库或其他来源的文件。我尝试:
var storageFile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("C:\\Users\\admin\\Music\\line.mp3"));
var stream = await storageFile.OpenAsync(FileAccessMode.Read);
mediaElement.SetSource(stream, storageFile.ContentType);
mediaElement.Play();
它给出了异常(exception): “Polar.exe 中出现类型为‘System.ArgumentException’的异常,但未在用户代码中处理。附加信息:值不在预期范围内。”
我试过 mediaElement.Source() 了,但是元素没有播放声音。没有异常(exception),什么都没有。
我认为这是个愚蠢的问题,但我找不到解决方案。我做错了什么?
最佳答案
如果你想播放库中的音频文件,那么你需要使用KnownFolders
。 GetFileFromApplicationUriAsync
将不起作用。
var storageFile = await KnownFolders.MusicLibrary.GetFileAsync("line.mp3");
var stream = await storageFile.OpenAsync(FileAccessMode.Read);
mediaElement.SetSource(stream, storageFile.ContentType);
mediaElement.Play();
如果您想枚举所有媒体文件或所有文件夹,请使用它。
var AllStorageFiles = await KnownFolders.MusicLibrary.GetFilesAsync();
var AllStorageFolders = await KnownFolders.MusicLibrary.GetFoldersAsync();
关于c# - 如何通过 MediaElement 播放库中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19576394/