歌曲改变时更新LiveTile

时间:2014-09-18 22:33:48

标签: c# xaml windows-runtime windows-phone-8.1 background-task

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

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

XAMLrenderingBackgroundTask用专辑封面,文字等更新我的实时图块。效果很好 - 但是当歌曲改变时我无法运行它。我不知道当歌曲改变时我怎么能触发这个任务。

我有一个单独的BackgroundTask,它持续运行并接收Song更改等事件。但是我不知道如何在不添加系统时间更改等触发器的情况下触发此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 个答案:

答案 0 :(得分:0)

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