Пример #1
0
 public static IntroPlayerKernel Get()
 {
     if (Singleton == null)
     {
         Singleton = new IntroPlayerKernel();
         return(Singleton);
     }
     return(Singleton);
 }
Пример #2
0
        //Events
        #region Mediaevents

        private void VideoPlayer_MediaOpened(object sender, RoutedEventArgs e)
        {
            if (!VideoPlayer.NaturalDuration.HasTimeSpan)
            {
                return;
            }

            IntroPlayerKernel.Get().EventAggregator.PublishMessage(new MediaOpenedEvent());
            VideoPositonDefiner.Maximum = VideoPlayer.NaturalDuration.TimeSpan.TotalMilliseconds;
        }
Пример #3
0
        //Methods
        #region VideoPositionMethod

        private void VideoPositionChanged(object state)
        {
            if (Math.Abs((double)state - VideoPosition) < 1000)
            {
                Dispatcher.Invoke(() =>
                {
                    IntroPlayerKernel.Get().EventAggregator.PublishMessage(new SeekToPlayerPositionEvent(VideoPosition));
                });
            }
        }
Пример #4
0
 private void OnUpdatePosition(object state)
 {
     Dispatcher.Invoke(() =>
     {
         if (oldPosition != VideoPlayer.Position)
         {
             IntroPlayerKernel.Get().EventAggregator.PublishMessage(new VideoPositionChangedEvent(VideoPlayer.Position));
             oldPosition = VideoPlayer.Position;
         }
     });
 }
Пример #5
0
 public AboutViewModel() : base(IntroPlayerKernel.Get().EventAggregator)
 {
 }
Пример #6
0
 private void VideoPlayer_MediaFailed(object sender, ExceptionRoutedEventArgs e)
 {
     IntroPlayerKernel.Get().EventAggregator.PublishMessage(new MediaFailedEvent());
 }
Пример #7
0
 public MainWindow()
 {
     InitializeComponent();
     IntroPlayerKernel.Get().EventAggregator.Subscribe(this);
     PositionUpdateTimer = new Timer(OnUpdatePosition, null, 0, 1000);
 }
 public IntroPlayerController() : base(IntroPlayerKernel.Get().EventAggregator)
 {
 }