Example #1
0
 public void Dispose()
 {
     if (backgroundAudioTaskStarted != null)
     {
         backgroundAudioTaskStarted.Dispose();
         backgroundAudioTaskStarted = null;
     }
     if (IsAudioPlayerTaskRunning)
     {
         RemoveMediaPlayerEventHandlers();
         ApplicationSettingsHelper.SaveSettingToLocalSettings(ApplicationSettingsConstants.BackgroundTaskState, BackgroundTaskState.Running.ToString());
     }
 }
Example #2
0
        private void ResetAfterLostBackground()
        {
            BackgroundMediaPlayer.Shutdown();
            _isAudioPlayerTaskRunning = false;
            backgroundAudioTaskStarted.Reset();
            ApplicationSettingsHelper.SaveSettingToLocalSettings(ApplicationSettingsConstants.BackgroundTaskState, BackgroundTaskState.Unknown.ToString());

            try
            {
                BackgroundMediaPlayer.MessageReceivedFromBackground += BackgroundMediaPlayer_MessageReceivedFromBackground;
            }
            catch (Exception ex)
            {
                if (ex.HResult == RPC_S_SERVER_UNAVAILABLE)
                {
                    throw new Exception("Failed to get a MediaPlayer instance.");
                }
                else
                {
                    throw;
                }
            }
        }
Example #3
0
 /// <summary>
 ///  应用状态恢复
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void App_Resuming(object sender, object e)
 {
     ApplicationSettingsHelper.SaveSettingToLocalSettings(ApplicationSettingsConstants.AppState, AppState.Active.ToString());
 }