からMediaPlaybackItemを作成するときに、私はデフォルトMediaPlaybackItem
コンストラクタ使用してファイルからプレイリストを作成しています:DisplayPropertiesファイル
songs = a.OfType<StorageFile>().Select(o => new MediaPlaybackItem(MediaSource.CreateFromStorageFile(o))).ToList();
しかし、このプロセスはかなり重要なファイルのプロパティを、保存しない何らかの理由を音楽再生ソフトウェアの場合。参考
:
// This works just fine
var prop = await (_a as StorageFile).Properties.GetMusicPropertiesAsync();
// This doesn't.
var item = new MediaPlaybackItem(MediaSource.CreateFromStorageFile((StorageFile)_a));
item.GetDisplayProperties().MusicProperties;
アイテムのDisplayProperties
、ならびにそれに接続MusicProperties
は空です。
は中にそのアイテムの作成の世話をする方法はありますか私は非同期的にアイテム一つ一つを作成した後にプロパティを割り当てることがありますか?
foreach(var _a in a)
{
var prop = await (_a as StorageFile).Properties.GetMusicPropertiesAsync();
var item = new MediaPlaybackItem(MediaSource.CreateFromStorageFile((StorageFile)_a));
var attached = item.GetDisplayProperties().MusicProperties;
attached.AlbumArtist = prop.AlbumArtist;
attached.AlbumTitle = prop.Album;
// ...
songs.Add(item);
}
乾杯!