2

我只能从应用程序存储中播放文件,但是,我必须从库或其他来源播放文件。我尝试:

        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();

它给出了异常:“Polar.exe 中发生了 'System.ArgumentException' 类型的异常,但未在用户代码中处理。附加信息:值不在预期范围内。”

我尝试了 mediaElement.Source() ,但元素没有播放声音。没有例外,什么都没有。

我认为这是一个愚蠢的问题,但我找不到解决方案。我做错了什么?

4

1 回答 1

5

如果要播放库中的音频文件,则需要使用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();
于 2013-10-25T06:22:11.977 回答