Beispiel #1
0
        private void SendMessageToBackground(PlayQueueConstantFGMessageId messageId, object value)
        {
            var message = new ValueSet();

            message.Add(PlayQueueMessageHelper.FGMessageIdToMessageString(messageId), value);
            BackgroundMediaPlayer.SendMessageToBackground(message);
        }
 internal static string FGMessageIdToMessageString(PlayQueueConstantFGMessageId messageId)
 {
     switch (messageId)
     {
         case PlayQueueConstantFGMessageId.AppResumed:
             return AppResumed;
         case PlayQueueConstantFGMessageId.AppSuspended:
             return AppSuspended;
         case PlayQueueConstantFGMessageId.LoggingEnabledChanged:
             return LoggingEnabledChanged;
         case PlayQueueConstantFGMessageId.PlayPauseTrack:
             return PlayPauseTrack;
         case PlayQueueConstantFGMessageId.PossibleChromeChange:
             return PossibleChromeChange;
         case PlayQueueConstantFGMessageId.PrevTrack:
             return PrevTrack;
         case PlayQueueConstantFGMessageId.ScrubToPercentage:
             return ScrubToPercentage;
         case PlayQueueConstantFGMessageId.SkipTrack:
             return SkipTrack;
         case PlayQueueConstantFGMessageId.StartPlayback:
             return StartPlayback;
         case PlayQueueConstantFGMessageId.PlayMode:
             return PlayMode;
         case PlayQueueConstantFGMessageId.Volume:
             return Volume;
         default:
             DebugHelper.Alert(new CallerInfo(), "Unexpected PlayQueueConstantFGMessageId {0} encountered", messageId.ToString());
             return Unknown;
     }
 }
Beispiel #3
0
        private void StartBackgroundTask(PlayQueueConstantFGMessageId message)
        {
            Logger.Current.Log(new CallerInfo(), LogLevel.Info, "Starting background task...");
            AttachBackgroundMediaPlayerEventHandlers();

            var backgroundtaskinitializationresult = CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                bool result = IsBackgroundAudioTaskRunning;
                if (!result)
                {
                    result = BackgroundInitialized.WaitOne(20000);
                }
                if (result)
                {
                    IsBackgroundStarted = true;

                    SendMessageToBackground(message);
                }
                else
                {
                    Logger.Current.Log(new CallerInfo(), LogLevel.Warning, "Background task didn't start in time");

                    throw new Exception("Background Audio Task didn't start in expected time");
                }
            }
                                                                                                  );

            backgroundtaskinitializationresult.Completed += HandleBackgroundTaskInitializationCompleted;
        }
Beispiel #4
0
        private void SentMessageToBackgroundOrInit(PlayQueueConstantFGMessageId messageId)
        {
            Logger.Current.Log(new CallerInfo(), LogLevel.Info, "Sending Message To Background Message: {0} IsRunning: {1}", messageId.ToString(), IsBackgroundAudioTaskRunning);

            if (IsBackgroundStarted)
            {
                SendMessageToBackground(messageId);
            }
            else
            {
                StartBackgroundTask(messageId);
            }
        }
        internal static string FGMessageIdToMessageString(PlayQueueConstantFGMessageId messageId)
        {
            switch (messageId)
            {
            case PlayQueueConstantFGMessageId.AppResumed:
                return(AppResumed);

            case PlayQueueConstantFGMessageId.AppSuspended:
                return(AppSuspended);

            case PlayQueueConstantFGMessageId.LoggingEnabledChanged:
                return(LoggingEnabledChanged);

            case PlayQueueConstantFGMessageId.PlayPauseTrack:
                return(PlayPauseTrack);

            case PlayQueueConstantFGMessageId.PossibleChromeChange:
                return(PossibleChromeChange);

            case PlayQueueConstantFGMessageId.PrevTrack:
                return(PrevTrack);

            case PlayQueueConstantFGMessageId.ScrubToPercentage:
                return(ScrubToPercentage);

            case PlayQueueConstantFGMessageId.SkipTrack:
                return(SkipTrack);

            case PlayQueueConstantFGMessageId.StartPlayback:
                return(StartPlayback);

            default:
                DebugHelper.Alert(new CallerInfo(), "Unexpected PlayQueueConstantFGMessageId {0} encountered", messageId.ToString());
                return(Unknown);
            }
        }
Beispiel #6
0
 private void SendMessageToBackground(PlayQueueConstantFGMessageId messageId)
 {
     SendMessageToBackground(messageId, DateTime.Now.ToString());
 }
Beispiel #7
0
        private void SentMessageToBackgroundOrInit(PlayQueueConstantFGMessageId messageId)
        {
            Logger.Current.Log(new CallerInfo(), LogLevel.Info, "Sending Message To Background Message: {0} IsRunning: {1}", messageId.ToString(), IsBackgroundAudioTaskRunning);

            if (IsBackgroundStarted)
            {
                SendMessageToBackground(messageId);
            }
            else
            {
                StartBackgroundTask(messageId);
            }
        }
Beispiel #8
0
 private void SendMessageToBackground(PlayQueueConstantFGMessageId messageId)
 {
     SendMessageToBackground(messageId, DateTime.Now.ToString());
 }
Beispiel #9
0
 private void SendMessageToBackground(PlayQueueConstantFGMessageId messageId, object value)
 {
     var message = new ValueSet();
     message.Add(PlayQueueMessageHelper.FGMessageIdToMessageString(messageId), value);
     BackgroundMediaPlayer.SendMessageToBackground(message);
 }
Beispiel #10
0
        private void StartBackgroundTask(PlayQueueConstantFGMessageId message)
        {
            Logger.Current.Log(new CallerInfo(), LogLevel.Info, "Starting background task...");
            AttachBackgroundMediaPlayerEventHandlers();

            var backgroundtaskinitializationresult = CoreApplication.MainView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                bool result = IsBackgroundAudioTaskRunning;
                if (!result)
                {
                    result = BackgroundInitialized.WaitOne(20000);
                }
                if (result)
                {
                    IsBackgroundStarted = true;

                    SendMessageToBackground(message);
                }
                else
                {
                    Logger.Current.Log(new CallerInfo(), LogLevel.Warning, "Background task didn't start in time");

                    throw new Exception("Background Audio Task didn't start in expected time");
                }
            }
            );
            backgroundtaskinitializationresult.Completed += HandleBackgroundTaskInitializationCompleted;
        }