我MediaPlaybackList.ShuffledItems
的里面有 10 件物品。Music
但是,当我尝试使用 uri将项目转换回 ViewModel 列表(在我的情况下是)时,我得到了 null。
这是为什么?是因为我从本地驱动器加载文件吗?
这就是我获取uri的方式:
public static async Task<List<Music>> GetRealPlayList()
{
if (PlayList.ShuffleEnabled)
{
if (ShuffledPlayList.Count == 0)
{
foreach (var music in PlayList.ShuffledItems)
{
ShuffledPlayList.Add(await Music.GetMusic(music.Source.Uri.AbsolutePath));
}
}
return ShuffledPlayList;
}
else
return CurrentPlayList;
}
这就是我设置项目的方式:
public static async Task SetPlayList(IEnumerable<Music> playlist)
{
if (Helper.SamePlayList(playlist, CurrentPlayList)) return;
PlayList.Items.Clear();
CurrentPlayList.Clear();
foreach (var music in playlist)
{
var item = new MediaPlaybackItem(MediaSource.CreateFromStorageFile(await Helper.CurrentFolder.GetFileAsync(music.GetShortPath())));
PlayList.Items.Add(item);
CurrentPlayList.Add(music);
}
}
还有什么方法可以将其转换MediaPlackBackItem
回 ViewModel?GetDisplayProperties().MusicProperties 没有我想要的一些属性,其中的属性也是空的。