2017-03-23 1 views
0

から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); 
} 

乾杯!

答えて

1

今のところ、我々は唯一のプログラムで、GetDisplayProperties()を呼び出して返さMediaItemDisplayPropertiesのデータを設定し、次にあなたが何をやったかのようなApplyDisplayProperties(MediaItemDisplayProperties)を呼び出すことによって、メディアアイテムのメタデータを提供することができます。

しかし、新しいプレリリースのという名前のAutoLoadedDisplayPropertiesMediaPlaybackItemにあります。このプロパティを設定すると、コンテンツのメタデータが自動的に読み込まれ、システムメディアトランスポートコントロールに表示されます。ただし、ご注意ください一部の情報は、製品が商業的にリリースされる前に実質的に変更される可能性がある、事前にリリースされた製品に関連しています。マイクロソフトは、ここで提供される情報に関して、明示的または黙示的に、いかなる保証もいたしません。

Windows Insiderにご登録いただき、最新のInsider Preview SDKをお試しください。