예제 #1
0
 public override void DisposePlayer()
 {
     _mediaElement.MediaOpened  -= MediaElement_MediaOpened;
     _mediaElement.MediaFailed  -= MediaElement_MediaFailed;
     _mediaElement.MediaEnded   -= MediaElement_MediaEnded;
     _mediaElement.MediaOpening -= MediaElement_MediaOpening;
     _mediaElement.Close();
     _mediaElement.Dispose();
 }
 public async Task HideVideoAsync(Guid mediaItemId)
 {
     if (_mediaItemId == mediaItemId)
     {
         OnMediaChangeEvent(new MediaEventArgs {
             MediaItemId = _mediaItemId, Change = MediaChange.Stopping
         });
         await _mediaElement.Close();
     }
 }
예제 #3
0
        public void stop()
        {
            this.mediaElement.Stop();

            mediaElement.Close();
            playstate = 0;
            timer.Stop();
            //this.Close();
            //listBox.IsEnabled = true;
        }
예제 #4
0
파일: Sounds.cs 프로젝트: SKCrimson/Tomawo
 private void timer_TickStarting(object sender, EventArgs e)
 {
     if (_seconds != 0)
     {
         _media.Volume -= _pace;
         _seconds      -= 1;
     }
     else
     {
         _media.Stop();
         _media.Close();
         _timer.Tick -= timer_TickStarting;
     }
 }
예제 #5
0
        public void PageUnloaded()
        {
            Application.Current.Dispatcher.Invoke(async() =>
            {
                await MediaElement.Stop();
                await MediaElement.Close();

                DispatcherTimer.IsEnabled = false;
                DispatcherTimer.Stop();

                if (SpendTime.TotalSeconds > 10)
                {
                    using var db = new AppDbContext();

                    var spendTime = new SpendTime
                    {
                        ChannelId = Channel.Id,
                        Spendtime = SpendTime
                    };

                    db.SpendTimes.Add(spendTime);
                    db.SaveChanges();
                }
            });
        }
예제 #6
0
        /// <summary>
        /// 影片结束后事件,可用来执行影片播放结束想要执行的动作
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void mediaElement_MediaEnded(object sender, RoutedEventArgs e)
        {
            this.mediaElement.Stop();
            mediaElement.Close();
            //MessageBox.Show("影片播放结束");

            playstate = 0;
            timer.Stop();
            this.Hide();
            //单曲循环
            //mediaElement.Position = new TimeSpan();
            //mediaElement.Play();

            //列表循环
            //for (int i = 0; i < MainWindow.list.Count; i++)
            //{
            //    if (MainWindow.fileName == MainWindow.list[i])
            //    {
            //        if (i == MainWindow.list.Count - 1)
            //        {
            //            this.mediaElement.Source = new Uri(MainWindow.list[0]);
            //            this.mediaElement.Play();
            //        }
            //        else
            //        {
            //            this.mediaElement.Source = new Uri(MainWindow.list[i + 1]);
            //            this.mediaElement.Play();
            //        }
            //        break;
            //    }
            //}
        }
예제 #7
0
 public void PauseStream()
 {
     Application.Current.Dispatcher.Invoke(async() =>
     {
         await MediaElement.Stop();
         await MediaElement.Close();
     });
 }
예제 #8
0
 public void stopPlayback()
 {
     //VideoControl.Stop();
     VideoControl.Close();
     VideoControl.UpdateDefaultStyle();
     videoContainer.Children.Remove(VideoControl);
     VideoControl = null;
 }
예제 #9
0
파일: Song.cs 프로젝트: Zaranoff/Spotival
        public void StopSong()
        {
            var          main        = App.Current.MainWindow;
            MediaElement mediaPlayer = (MediaElement)(main.FindName("mediaPlayer"));

            mediaPlayer.Close();
            timer.Stop();
        }
예제 #10
0
 public override void DisposePlayer()
 {
     _mediaElement.MediaOpened -= MediaElement_MediaOpened;
     _mediaElement.MediaFailed -= MediaElement_MediaFailed;
     _mediaElement.MediaEnded  -= MediaElement_MediaEnded;
     _mediaElement.Close();
     IsMediaLoaded = false;
 }
예제 #11
0
 public static void release()
 {
     if (w != null)
     {
         me.Close();
         w.Close();
     }
 }
예제 #12
0
 public void ReloadStream()
 {
     Application.Current.Dispatcher.Invoke(async() =>
     {
         await MediaElement.Stop();
         await MediaElement.Close();
         await MediaElement.Open(new Uri(Channel.M3U8Address));
     });
 }
예제 #13
0
        void KMiniPlayer_Unloaded(object sender, RoutedEventArgs e)
        {
            Unloaded -= new RoutedEventHandler(KMiniPlayer_Unloaded);

            if (MediaElement != null)
            {
                // Unsubsribes and clean up
                MediaElement.MediaFailed -= new RoutedMediaFailedEventHandler(MediaElement_MediaFailed);
                MediaElement.Close();
            }
        }
예제 #14
0
        private void Close()
        {
            ViewModel.Uri = null;
            if (MediaElement is not null)
            {
                MediaElement.Close();
                MediaElement.Source     = null;
                MediaElement.Visibility = Visibility.Collapsed;
            }

            ImageElement.Visibility = Visibility.Collapsed;
        }
예제 #15
0
        public void LoadFileSet(TeslaCamFileSet set)
        {
            left.Close();
            right.Close();
            front.Close();
            back.Close();
            bool playLeft  = false;
            bool playRight = false;
            bool playFront = false;
            bool playBack  = false;

            foreach (var cam in set.Cameras)
            {
                if (cam.CameraLocation == TeslaCamFile.CameraType.FRONT)
                {
                    this.front.Source = new Uri(cam.FilePath);
                    playFront         = true;
                }
                if (cam.CameraLocation == TeslaCamFile.CameraType.LEFT_REPEATER)
                {
                    this.left.Source = new Uri(cam.FilePath);
                    playLeft         = true;
                }
                if (cam.CameraLocation == TeslaCamFile.CameraType.RIGHT_REPEATER)
                {
                    this.right.Source = new Uri(cam.FilePath);
                    playRight         = true;
                }
                if (cam.CameraLocation == TeslaCamFile.CameraType.BACK)
                {
                    this.back.Source = new Uri(cam.FilePath);
                    playBack         = true;
                }
            }

            if (playLeft)
            {
                left.Play();
            }
            if (playRight)
            {
                right.Play();
            }
            if (playFront)
            {
                front.Play();
            }
            if (playBack)
            {
                back.Play();
            }
            this.tabs.SelectedIndex = 1;
        }
        private void Shutdown()
        {
            _ShutdownRequest = false;

            _MediaElement.Stop();
            _MediaElement.Close();
            _MediaElement.Source = null;

            _MediaElement.MediaOpened -= MediaPlayer_Opened;
            _MediaElement.MediaEnded  -= MediaPlayer_Ended;
            _MediaElement.MediaFailed -= MediaPlayer_Failed;

            _Phase = Phase.Closed;
        }
예제 #17
0
 private void btnClose_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     if (!IsInSync || IsSyncOwner)
     {
         mediaPlayer.Stop();
         mediaPlayer.Close();
         Close();
         if (IsInSync && IsSyncOwner)
         {
             _003C_003Ec__DisplayClass1a _003C_003Ec__DisplayClass1a = new _003C_003Ec__DisplayClass1a();
             _003C_003Ec__DisplayClass1a.socketClient = Singleton_Socket.GetInstance(MeetingID, UserID, UserName, true);
             Task.Factory.StartNew(new Action(_003C_003Ec__DisplayClass1a._003CbtnClose_MouseLeftButtonDown_003Eb__19));
         }
     }
 }
예제 #18
0
        public Task Close()
        {
            _timer.Stop();

            if (_currentMediaClassification == MediaClassification.Audio)
            {
                _audioPlayer.Value.Close();
            }
            else
            {
                _mediaElement.Close();
            }

            MediaClosed?.Invoke(this, null);
            return(Task.CompletedTask);
        }
예제 #19
0
        private void addElement_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog
            {
                Multiselect = true
            };

            if (openFileDialog.ShowDialog() == true)
            {
                foreach (string fileName in openFileDialog.FileNames)
                {
                    string path = fileName;
                    string exp  = path.Split("\\").LastOrDefault().Split('.').LastOrDefault();
                    if (Utils.imageExp.Contains(exp))
                    {
                        elements.Add(new PlaylistElement {
                            Path = fileName.Replace("\\", "/")
                        });
                    }

                    if (Utils.videoExp.Contains(exp))
                    {
                        MediaElement video = new MediaElement
                        {
                            Source           = new Uri(path, UriKind.Absolute),
                            LoadedBehavior   = MediaState.Manual,
                            UnloadedBehavior = MediaState.Manual,
                            Volume           = 0
                        };
                        video.MediaOpened += new System.Windows.RoutedEventHandler(Media_MediaOpened);

                        video.Play();
                        while (!video.NaturalDuration.HasTimeSpan)
                        {
                        }                                               //без этой строчки NaturalDuration не успевает вычислиться, и равен Automatic
                        double dur = video.NaturalDuration.TimeSpan.TotalSeconds;
                        video.Close();

                        elements.Add(new PlaylistElement {
                            Path = openFileDialog.FileName.Replace("\\", "/"), Duration = Convert.ToInt32(dur)
                        });
                    }
                }
            }
        }
예제 #20
0
        public Task Close()
        {
            _timer.Stop();

            if (_currentMediaClassification == MediaClassification.Audio)
            {
                _audioPlayer.Value.Close();
            }
            else
            {
                _mediaElement.Close();
            }

            IsPaused = false;

            MediaClosed?.Invoke(this, new OnlyMMediaClosedEventArgs());

            return(Task.CompletedTask);
        }
 private void Window_Closing(object sender, CancelEventArgs e)
 {
     if (isClosable)
     {
         if (isInitialized)
         {
             me.Close();
         }
         if (hackedPath.Contains(".mkv") && File.Exists(hackedPath))
         {
             File.Move(hackedPath, hackedPath.Replace(".mkv", ""));
         }
         if (matrixPath.Contains(".mkv") && File.Exists(matrixPath))
         {
             File.Move(matrixPath, matrixPath.Replace(".mkv", ""));
         }
         UnhookWindowsHookEx(intLLKey);
         DisableControls(false);
     }
     else
     {
         e.Cancel = true;
     }
 }
예제 #22
0
파일: Player.cs 프로젝트: Ruminoid/LIVE
 public void Dispose()
 {
     MediaElement?.Close();
     //MediaElement?.Dispose();
     MediaElement = null;
 }
예제 #23
0
 public void Stop()
 {
     player.Dispatcher.Invoke(() => { player.Source = null; player.Close(); });
 }
예제 #24
0
 private void Close()
 {
     ViewModel.Uri = null;
     MediaElement?.Close();
 }
예제 #25
0
파일: MP4.cs 프로젝트: Gercoginyaa/lb6
 public void Stop()
 {
     videoElement.Stop();
     videoElement.Close();
 }
예제 #26
0
 private void ButtonClose_Click(object sender, RoutedEventArgs e)
 {
     timer.Stop();
     media.Stop(); media.Close();
     this.Close();
 }