Example #1
0
 private void MediaElementOnMarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     foreach (var t in e.Marker.Text.Split(','))
     {
         ExecuteAction(new SavedAction(t));
     }
 }
Example #2
0
        private void MediaPlayer_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
        {
            if (e.Marker.Type == "EndTimeCode")
            {
                MediaPlayer.Pause();
                SeekToMediaPosition(CurrentNode.StartTimeCodeProvided
                    ? CurrentNode.StartTime
                    : TimeSpan.Parse("00:00:00"));
                MediaPlayer_CurrentStateChanged(sender, new RoutedEventArgs());
                MainUI.PlayControl.StopState();
            }

            var markerEvent = new Event
            {
                Name      = "TimelineMarkerEvent",
                EventArgs = new List <EventArg>
                {
                    { new EventArg()
                      {
                          Name = "Text", Value = e.Marker.Text
                      } },
                    { new EventArg()
                      {
                          Name = "Time", Value = e.Marker.Time.TotalSeconds.ToString(CultureInfo.InvariantCulture)
                      } },
                    { new EventArg()
                      {
                          Name = "Type", Value = e.Marker.Type
                      } }
                }
            };

            MainUI.Controller.SendEvent(markerEvent);
            //CurrentNode.PlayingTime = new TimeSpan();
        }
Example #3
0
        private static void music_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
        {
            Action <TimelineMarker> ma = MarkerReachedAction;

            if (ma != null)
            {
                ma(e.Marker);
            }
        }
Example #4
0
 void MediaPlayer_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     if (!CurrentPlaylist.EnableCaptions)
     {
         return;
     }
     foreach (var ctrl in ControlSets)
     {
         try {
             ctrl.CaptionFired(e.Marker);
         } catch (Exception ex) { drop(ex); }
     }
 }
 void MediaPlayer_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     if (!MediaPlayer.IsScrubbing) // scrubbing has it's own way of evaluating when ad markers are reached.
     {
         if (e.Marker.Type == MarkerType_Play)
         {
             PlayAdMarker(e.Marker);
         }
         else if (e.Marker.Type == MarkerType_Preload)
         {
             PreloadAdMarker(e.Marker);
         }
     }
 }
 async void pf_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     if (e.Marker.Type == "myAd")
     {
         var adSource = new RemoteAdSource() { Type = VastAdPayloadHandler.AdType, Uri = new Uri("http://smf.blob.core.windows.net/samples/win8/ads/vast_linear.xml") };
         //var adSource = new AdSource() { Type = DocumentAdPayloadHandler.AdType, Payload = SampleAdDocument };
         var progress = new Progress<AdStatus>();
         try
         {
             await player.PlayAd(adSource, progress, CancellationToken.None);
         }
         catch { /* ignore */ }
     }
 }
        private void MyMediaElement_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
        {
            if (e.Marker.Type == "MyMarker")
            {
                // Show marker text made by code
                this.CaptionTextBlock.FontSize = 22;
                this.CaptionTextBlock.Text     = e.Marker.Text;
            }

            else
            {
                // Show marker text made by Expression Blend 3
                // Because the caption is "out of" the video you get more flexibility to customizing it
                this.CaptionTextBlock.FontSize = 12;
                this.CaptionTextBlock.Text     = e.Marker.Text;
            }
        }
        private void MediaElement_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
        {
            string logMessage = string.Format(ProgressiveMediaPluginResources.TimelineMarkerReached, e.Marker.Time,
                                              e.Marker.Type, e.Marker.Text);

            SendLogEntry(KnownLogEntryTypes.MediaElementMarkerReached, message: logMessage);

            var mediaMarker = new MediaMarker
            {
                Type    = e.Marker.Type,
                Begin   = e.Marker.Time,
                End     = e.Marker.Time,
                Content = e.Marker.Text
            };

            NotifyMarkerReached(mediaMarker);
        }
 async void pf_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     if (e.Marker.Type == "myAd")
     {
         var adSource = new RemoteAdSource()
         {
             Type = VastAdPayloadHandler.AdType, Uri = new Uri("http://smf.blob.core.windows.net/samples/win8/ads/vast_linear.xml")
         };
         //var adSource = new AdSource() { Type = DocumentAdPayloadHandler.AdType, Payload = SampleAdDocument };
         var progress = new Progress <AdStatus>();
         try
         {
             await player.PlayAd(adSource, progress, CancellationToken.None);
         }
         catch { /* ignore */ }
     }
 }
        void mediaPlayer_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
        {
            Dictionary <string, string> songAttribs = new Dictionary <string, string>();
            string playerFeed = System.Net.WebUtility.UrlDecode(e.Marker.Text);

            char[]   delims  = { '&' };
            string[] Attribs = playerFeed.Split(delims);

            foreach (String attrib in Attribs)
            {
                string[] keypair = attrib.Split('=');
                string   key     = "";
                string   value   = "";

                try
                {
                    key = keypair[0];
                }
                catch
                {
                    key = null;
                }

                if (key != null)
                {
                    try
                    {
                        value = keypair[1];
                    }
                    catch
                    {
                        value = "";
                    }

                    songAttribs.Add(keypair[0], keypair[1]);
                }
            }
            var updater = _systemMediaControls.DisplayUpdater;

            updater.Type = MediaPlaybackType.Music;
            updater.MusicProperties.Title  = songAttribs["title"];
            updater.MusicProperties.Artist = songAttribs["artist"];
            //updater.MusicProperties.Duration = 0;
            songDetails.Text = "Artist: " + updater.MusicProperties.Artist + "Title: " + updater.MusicProperties.Title + " playerFeed: " + playerFeed;
        }
Example #11
0
        void theSound_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
        {
            MediaElement sound = (sender as MediaElement);

            if (LoopTime > 0)
            {
                _loopIndex = (_loopIndex + 1) % _sounds.Count;
                for (int i = 0; i < _sounds.Count; i++)
                {
                    if (i == _loopIndex)
                    {
                        _sounds[i].Sound.Position = TimeSpan.FromMilliseconds(0);
                        _sounds[i].Sound.Volume   = (Volume == -1) ? 0.5 : Volume;
                        _sounds[i].Sound.Play();
                    }
                }
            }
        }
Example #12
0
        void _media_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
        {
            OnMarkerReached(e.Marker);
            if (string.Compare(e.Marker.Type, "marker", StringComparison.InvariantCultureIgnoreCase) <= 0)
            {
                if (_activeMarker != null)
                {
                    _activeMarker.AnimateIn.Stop();
                }

                Marker marker;
                _markers.TryGetValue(e.Marker.Time, out marker);
                if (marker != null)
                {
                    _activeMarker = marker;
                    marker.AnimateIn.Begin();
                }
            }
        }
Example #13
0
        async void OnMarkerReached(object sender, TimelineMarkerRoutedEventArgs args)
        {
            var index = Convert.ToInt32(args.Marker.Text, 10);

            if (m_parsedLrc == null || index >= m_parsedLrc.Sentences.Count ||

                m_mediaElement.Position.Ticks + TimeSpan.TicksPerSecond <
                (TimeSpan.TicksPerMillisecond * m_parsedLrc.Sentences[index].Time - m_offset.Ticks))
            {
                return;
            }

            // Divide by 8 => Right shift by 3
            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, () =>
                                      SyncLyrics(index,
                                                 index > 0 ?
                                                 (m_parsedLrc.Sentences[index].Time - m_parsedLrc.Sentences[index - 1].Time) >> 3 : 0)
                                      );
        }
        private void HandlePlaybackWindowMarkerReached
            (Object sender, TimelineMarkerRoutedEventArgs e)
        {
            PlaybackWindow.Pause();

            var markerItemTime     = e.Marker.Time;
            var matchingFileMarker = ViewModel.CurrentPlaybackFile.FileMarkers.
                                     FirstOrDefault(x => x.Time == markerItemTime);

            if (matchingFileMarker == null)
            {
                return;
            }

            ViewModel.CurrentFileMarker = matchingFileMarker;
            TextToSpeechHelper.SpeakContentAsync(
                matchingFileMarker.TextToSpeechContent,
                matchingFileMarker.IsSsml,
                matchingFileMarker.SelectedVoiceId);
        }
Example #15
0
 private async void mediaEle_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     try
     {
         if (this.danmakus != null)
         {
             var res = this.danmakus.Where(d => ((int)d.Time == (int)(e.Marker.Time.TotalSeconds) && d.IsShowed == false));
             this.danmakuPres.AddDanmaku(res.FirstOrDefault());
             this.danmakus.Where(d => ((int)d.Time == (int)(e.Marker.Time.TotalSeconds) && d.IsShowed == false)).OrderBy(o => o.Time).FirstOrDefault().IsShowed = true;
             await Task.Delay(100);
         }
     }
     catch (Exception ex)
     {
         if (DanmakuLoadFailed != null)
         {
             DanmakuLoadFailed(this, new DanmakuExceptionRoutedEventArgs(ex));
         }
     }
 }
Example #16
0
 // MarkerReachedのキック時
 // movie1到達で一時停止,movie2到達で再生
 private void movie_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     //if (!MediaData.IsSlowPlay)
     //{
     if (e.Marker.Text != "disabled")
     {
         foreach (var value in MediaData.movieList)
         {
             if (value.currentPlayer.movie != movie)
             {
                 if (value.currentPlayer.movie.CurrentState == MediaElementState.Playing)
                 {
                     PauseMedia(sender, e);
                 }
                 else if (value.currentPlayer.movie.CurrentState == MediaElementState.Paused)
                 {
                     value.currentPlayer.PlayMedia(sender, e);
                 }
             }
         }
     }
 }
Example #17
0
 object ITimelineMarkerRoutedEventArgsResolver.OriginalSource(TimelineMarkerRoutedEventArgs e) => e.OriginalSource;
 void myMediaElement_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     Scenario3Text.Text += e.Marker.Text + " - " + String.Format("{0:g}", Math.Round(e.Marker.Time.TotalSeconds, 2)) + "\r\n";
 }
 private void media_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     lblMarker.Text = e.Marker.Text + " at " + e.Marker.Time.TotalSeconds + " seconds";
 }
        void MediaElement_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
#endif
        {
            OnMarkerReached(e.Marker);
        }
        void MediaElement_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
#endif
        {
            OnMarkerReached(e.Marker);
        }
Example #22
0
        /// <summary>
        /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed.
        /// <example>
        /// timelinemarkerroutedeventhandler.BeginInvoke(sender, e, callback);
        /// </example>
        /// </summary>
        public static IAsyncResult BeginInvoke(this TimelineMarkerRoutedEventHandler timelinemarkerroutedeventhandler, Object sender, TimelineMarkerRoutedEventArgs e, AsyncCallback callback)
        {
            if (timelinemarkerroutedeventhandler == null)
            {
                throw new ArgumentNullException("timelinemarkerroutedeventhandler");
            }

            return(timelinemarkerroutedeventhandler.BeginInvoke(sender, e, callback, null));
        }
Example #23
0
 TimelineMarker ITimelineMarkerRoutedEventArgsResolver.Marker(TimelineMarkerRoutedEventArgs e) => e.Marker;
Example #24
0
 /// <summary>
 /// Gets the <see cref="TimelineMarker"/> that triggered this event.
 /// </summary>
 /// <param name="e">The requested <see cref="TimelineMarkerRoutedEventArgs"/>.</param>
 /// <returns>The <see cref="TimelineMarker"/> that triggered this event.</returns>
 public static TimelineMarker Marker(this TimelineMarkerRoutedEventArgs e) => Resolver.Marker(e);
        public void mediaElement_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
        {

            Caption.Text = e.Marker.Text;
        }
 private void player_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     Close_Controls.Begin();
 }
 private void MediaPlayer_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     //MediaPlayer.Stop();
 }
Example #28
0
 /// <summary>
 /// Gets a reference to the object that raised the event.
 /// This is often a template part of a control rather than an element that was declared in your app UI.
 /// </summary>
 /// <param name="e">The requested <see cref="TimelineMarkerRoutedEventArgs"/>.</param>
 /// <returns>The object that raised the event.</returns>
 public static object OriginalSource(this TimelineMarkerRoutedEventArgs e) => Resolver.OriginalSource(e);
        // </SnippetMediaOpenedLiveStream>



        //private void btnFoo_Click_1(object sender, RoutedEventArgs e)
        //{
        //    foreach (UIElement x in StackFoo.Children)
        //    {
        //        if (x is Button)
        //        {
        //            txtDisplay.Text += ((Button)x).Name + "  ";
        //        }
        //    }
        //}

        // <SnippetTimelineMarker>
        private void Media_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
        {
            txOutput.Text =
                string.Format("{0},{1},{2}", e.Marker.Time, e.Marker.Text, e.Marker.Type);
        }
 /// <summary>
 /// Handler for the MediaElement.MarkerReached event.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void MediaElement_MarkerReached(object sender, TimelineMarkerRoutedEventArgs e)
 {
     // Display marker info when a marker is reached
     Scenario3Text.Text += e.Marker.Text + ": " + String.Format("{0:g}\n", Math.Round(e.Marker.Time.TotalSeconds, 2));
 }