2014-09-18 54 views
0

基本上,我使用這個示例。當樂曲改變時更新LiveTile

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

的XAMLrenderingBackgroundTask與專輯封面,文字等更新我的動態磁貼的偉大工程 - 但我不能讓它跑歌曲更改時。當歌曲改變時,我不知道如何觸發這個任務。

我有一個單獨的BackgroundTask正在持續運行,收到宋變化等事件,但我不知道的一種方式來觸發此XAMLrenderingBackgroundTask自己不添加像系統時間觸發器等改變必須能夠,當歌曲改變時,我看到其他應用程序更新圖像。

我試着用Media BackgroundTask來實現XAMLrenderingBGTask,並試圖在媒體改變時更新活動磁貼,但由於某種調用被另一個線程編組,所以我崩潰了。

現在我被卡住了。這裏是我的媒體播放器backgroundtask,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; 
    } 

回答

0

我知道這是一個有點晚:d 可以使用This更新瓷磚。 情景2我認爲可以幫助你。 在MediaOpened事件中您可以更新瓦片

相關問題