首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态更新MediaItemDisplayProperties

动态更新MediaItemDisplayProperties
EN

Stack Overflow用户
提问于 2017-06-14 09:51:37
回答 1查看 190关注 0票数 0

我已经创建了一个UWP应用程序,它使用HTML5网络广播流。一切都很好,但现在我想向MediaPlayer元素添加跟踪和艺术家信息。如果用户将设备锁定在启动屏幕上,则将显示此信息。如果用户选择一个流,则正确地显示第一个音轨。但是,如果不重新启动Stream,我就无法更新这些信息。

代码语言:javascript
复制
MediaItemDisplayProperties mdp = _mediaPlaybackItem.GetDisplayProperties();
mdp.Type = Windows.Media.MediaPlaybackType.Music;
mdp.MusicProperties.Artist = "TBA Artist";
mdp.MusicProperties.Title = "TBA Title";
mdp.Thumbnail = Windows.Storage.Streams.RandomAccessStreamReference.CreateFromUri(MainPage.Current.CurrentStream.PreviewImageUri);
_mediaPlaybackItem.ApplyDisplayProperties(mdp);
_mediaPlayer.Source = mpItem; 
_mediaPlayer.Play();

如果我在我的艺术家/标题刷新方法中使用这一行,我还必须再次设置_mediaPlayer源,这将导致播放音乐的暂停。

有谁知道如何解决这个问题吗?或者给出任何我可以进一步研究的建议。

谢谢克里斯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-15 06:58:09

如果您想更新“艺术家/标题”,您应该能够使用System​Media​Transport​Controls​Display​Updater类,它提供了更新显示在SystemMediaTransportControls上的音乐信息的功能。

我们可以将“艺术家”/“标题”设置为SystemMediaTransportControlsDisplayUpdater.MusicProperties属性。然后,我们可以使用SystemMediaTransportControlsDisplayUpdater.Update方法更新当前播放媒体的元数据。

使用SystemMediaTransportControlsDisplayUpdater类更新传输控件显示的媒体信息,例如当前播放的媒体项的歌曲标题或专辑艺术。使用SystemMediaTransportControls.DisplayUpdater属性获取该类的实例。如果您的方案需要,您可以通过设置由MusicProperties类公开的ImageProperties或VideoProperties对象的值来手动更新系统媒体传输控件显示的元数据。

例如:

代码语言:javascript
复制
SystemMediaTransportControlsDisplayUpdater updater = _systemMediaTransportControls.DisplayUpdater;    
updater.MusicProperties.Artist = "artist";
updater.MusicProperties.AlbumArtist = "album artist";
updater.MusicProperties.Title = "song title";    
updater.Thumbnail = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Music/music1_AlbumArt.jpg"));    
updater.Update();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44541276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档