歌曲更改时更新 LiveTile

Posted

技术标签:

【中文标题】歌曲更改时更新 LiveTile【英文标题】:Update LiveTile when Song Changes 【发布时间】:2014-09-18 22:33:47 【问题描述】:

基本上,我正在使用这个示例。

http://social.msdn.microsoft.com/Forums/en-US/43295c90-43e8-4b08-8a25-958a1c3d0a0b/explanation-on-windowsuixamlmediaxamlrenderingbackgroundtask

一个 XAMLrenderingBackgroundTask 使用专辑封面、文本等更新我的实时磁贴。效果很好 - 但是当歌曲更改时我无法让它运行。我不知道如何在歌曲更改时触发此任务。

我有一个单独的 BackgroundTask,它持续运行并接收歌曲更改等事件。但我不知道如何自己触发此 XAMLrenderingBackgroundTask 而无需添加系统时间更改等触发器。它必须是可能的,当歌曲发生变化时,我看到其他应用程序会更新磁贴上的图像。

我尝试使用 Media BackgroundTask 实现 XAMLrenderingBGTask,并尝试在媒体更改时更新活动磁贴,但由于从另一个线程编组的某些调用而崩溃,这是我所预料的。

现在我被困住了。这是我的媒体播放器的后台任务,MediaOpened 事件应该触发新歌曲的磁贴更改,但我不能..

    public sealed class BackgroundAudioTask : IBackgroundTask 
    
    public void Run(IBackgroundTaskInstance taskInstance)
    
        systemmediatransportcontrol = SystemMediaTransportControls.GetForCurrentView();
        systemmediatransportcontrol.ButtonPressed += systemmediatransportcontrol_ButtonPressed;
        systemmediatransportcontrol.PropertyChanged += systemmediatransportcontrol_PropertyChanged;
        systemmediatransportcontrol.IsEnabled = true;
        systemmediatransportcontrol.IsPauseEnabled = true;
        systemmediatransportcontrol.IsPlayEnabled = true;
        systemmediatransportcontrol.IsNextEnabled = true;
        systemmediatransportcontrol.IsPreviousEnabled = true;
        systemmediatransportcontrol.IsFastForwardEnabled = true;
        systemmediatransportcontrol.IsRewindEnabled = true;


        //Add handlers for MediaPlayer
        BackgroundMediaPlayer.Current.CurrentStateChanged += Current_CurrentStateChanged;
        BackgroundMediaPlayer.Current.MediaOpened += MediaPlayer_MediaOpened;
        BackgroundMediaPlayer.Current.MediaEnded += MediaPlayer_MediaEnded;
        BackgroundMediaPlayer.Current.MediaFailed += mediaPlayer_MediaFailed;
        BackgroundMediaPlayer.Current.VolumeChanged += Current_VolumeChanged;

        BackgroundTaskStarted.Set();
        backgroundtaskrunning = true;
    

【问题讨论】:

【参考方案1】:

我知道有点晚了 :D 您可以使用This 更新磁贴。 场景2我认为可以帮助你。 在 MediaOpened 事件中,您可以更新磁贴

【讨论】:

以上是关于歌曲更改时更新 LiveTile的主要内容,如果未能解决你的问题,请参考以下文章

获取组件(窗口小部件)中相应的redux存储状态更新的数据

更新歌曲时间标签

如果返回的数据已更改,则使用 Flask 轮询 API 并更新网页

在请求后等待在 JQuery 中发送另一个

为什么当我更新二维数组时会出现“错误#1010”

从 iPhone 应用程序更新歌曲/曲目信息