私の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 には、必要ないくつかのプロパティがなく、その中のプロパティも空です。