Esempio n. 1
0
 async private void MediaPlayer_MediaFailed(Windows.Media.Playback.MediaPlayer sender, MediaPlayerFailedEventArgs args)
 {
     await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
     {
         await new MessageDialog("不支持该视频或音频的播放!请重新选择文件。").ShowAsync();
     });
 }
Esempio n. 2
0
 private void OnMediaOpened(Windows.Media.Playback.MediaPlayer session, object args)
 {
     Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
     {
         TogglePosterImage(false);
     });
 }
Esempio n. 3
0
        protected override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            _layoutRoot           = this.GetTemplateChild(LayoutRootName) as Grid;
            _posterImage          = this.GetTemplateChild(PosterImageName) as Image;
            _mediaPlayerPresenter = this.GetTemplateChild(MediaPlayerPresenterName) as MediaPlayerPresenter;

            _transportControlsPresenter         = this.GetTemplateChild(TransportControlsPresenterName) as ContentPresenter;
            _transportControlsPresenter.Content = TransportControls;
            TransportControls.ApplyTemplate();

            if (MediaPlayer == null)
            {
                MediaPlayer = new Windows.Media.Playback.MediaPlayer();
                _mediaPlayerPresenter?.ApplyStretch();
            }

            if (!IsLoaded && MediaPlayer.PlaybackSession.PlaybackState == MediaPlaybackState.None)
            {
                TogglePosterImage(true);
            }

            if (!_isTransportControlsBound)
            {
                TransportControls?.SetMediaPlayer(MediaPlayer);
                _isTransportControlsBound = true;
            }
        }
Esempio n. 4
0
 private void OnMediaFailed(Windows.Media.Playback.MediaPlayer sender, MediaPlayerFailedEventArgs args)
 {
     Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
     {
         Visibility = Visibility.Collapsed;
     });
 }
Esempio n. 5
0
        protected override void OnApplyTemplate()
        {
            base.OnApplyTemplate();

            _posterImage                        = this.GetTemplateChild(PosterImageName) as Image;
            _mediaPlayerPresenter               = this.GetTemplateChild(MediaPlayerPresenterName) as MediaPlayerPresenter;
            _transportControlsPresenter         = this.GetTemplateChild(TransportControlsPresenterName) as ContentPresenter;
            _transportControlsPresenter.Content = TransportControls;
            TransportControls.ApplyTemplate();

            if (MediaPlayer == null)
            {
                MediaPlayer = new Windows.Media.Playback.MediaPlayer();
            }

            if (PosterSource != null && MediaPlayer.PlaybackSession.PlaybackState == MediaPlaybackState.None)
            {
                _posterImage.Visibility       = Visibility.Visible;
                _mediaPlayerPresenter.Opacity = 0;
            }

            if (!_isTransportControlsBound)
            {
                TransportControls?.SetMediaPlayer(MediaPlayer);
                _isTransportControlsBound = true;
            }
        }
Esempio n. 6
0
 private async void MediaPlayer_MediaEnded(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     await AssociatedObject.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
     {
         MediaCommand?.Execute(ResultMediaPlayer.Ended);
     });
 }
 private void MediaPlayer_MediaOpened(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     // don't need this because MediaPlayerElement in XAML already auto starts if
     // our autostart property is true
     //if (this.AutoPlay)
     //{
     //    this.StartPlayer();
     //}
 }
        public MediaPlayerService()
        {
            _player = new Windows.Media.Playback.MediaPlayer {
                IsLoopingEnabled = true
            };
            _dispatcherQueue = DispatcherQueue.GetForCurrentThread();

            _player.PlaybackSession.PlaybackStateChanged += PlaybackSession_PlaybackStateChanged;
        }
Esempio n. 9
0
 public BackgroundPlaylist()
 {
     ListPathsource = new List<string>();
     mediaplayer = BackgroundMediaPlayer.Current;
     mediaplayer.MediaOpened += mediaplayer_MediaOpened;
     mediaplayer.MediaEnded += mediaplayer_MediaEnded;
     mediaplayer.CurrentStateChanged += mediaplayer_CurrentStateChanged;
     mediaplayer.MediaFailed += mediaplayer_MediaFailed;
     mediaplayer.AutoPlay = false;
 }
Esempio n. 10
0
 private void OnMediaFailed(Windows.Media.Playback.MediaPlayer session, object args)
 {
     Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
     {
         if (PosterSource != null && _posterImage != null)
         {
             _posterImage.Visibility       = Visibility.Visible;
             _mediaPlayerPresenter.Opacity = 0;
         }
     });
 }
Esempio n. 11
0
        private void OnVideoRatioChanged(Windows.Media.Playback.MediaPlayer sender, double args)
        {
            _currentRatio = args;

            Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                Visibility = Visibility.Visible;
            });

            InvalidateArrange();
        }
Esempio n. 12
0
        internal void SetMediaPlayer(Windows.Media.Playback.MediaPlayer mediaPlayer)
        {
            UnbindMediaPlayer();

            _mediaPlayer = mediaPlayer;

            if (_playPauseButton != null)
            {
                BindMediaPlayer();
            }
        }
Esempio n. 13
0
 private void OnMediaOpened(Windows.Media.Playback.MediaPlayer session, object args)
 {
     Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
     {
         if (_posterImage != null)
         {
             _posterImage.Visibility       = Visibility.Collapsed;
             _mediaPlayerPresenter.Opacity = 1;
         }
     });
 }
Esempio n. 14
0
        public static void CleanUpMediaPlayerSource(Windows.Media.Playback.MediaPlayer mp)
        {
            if (mp?.Source != null)
            {
                var source = mp.Source as Windows.Media.Core.MediaSource;
                source?.Dispose();

                var item = mp.Source as Windows.Media.Playback.MediaPlaybackItem;
                item?.Source?.Dispose();

                mp.Source = null;
            }
        }
Esempio n. 15
0
        private void OnVideoRatioChanged(Windows.Media.Playback.MediaPlayer sender, double args)
        {
            if (args > 0)             // The VideoRect may initially be empty, ignore because a 0 ratio will lead to infinite dims being returned on measure, resulting in an exception
            {
                _currentRatio = args;
            }

            Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
            {
                Visibility = Visibility.Visible;
            });

            InvalidateArrange();
        }
Esempio n. 16
0
 private void OnMediaStateChanged(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     RunOnMainThread(() =>
     {
         if (sender == localVideoPlayer)
         {
             localVideoStateText.Text = $"State: {sender.PlaybackSession.PlaybackState}";
         }
         else if (sender == remoteVideoPlayer)
         {
             remoteVideoStateText.Text = $"State: {sender.PlaybackSession.PlaybackState}";
         }
     });
 }
Esempio n. 17
0
        //选择文件
        private async void OpenFileClick(object sender, RoutedEventArgs e)
        {
            FileOpenPicker fileOpenPicker = new FileOpenPicker();

            fileOpenPicker.ViewMode = PickerViewMode.Thumbnail;
            fileOpenPicker.SuggestedStartLocation = PickerLocationId.VideosLibrary;
            fileOpenPicker.FileTypeFilter.Add(".mp4");
            fileOpenPicker.FileTypeFilter.Add(".wmv");
            fileOpenPicker.FileTypeFilter.Add(".wma");
            fileOpenPicker.FileTypeFilter.Add(".mp3");

            StorageFile file = await fileOpenPicker.PickSingleFileAsync();

            if (file != null)
            {
                var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);

                mediaPlayer = new Windows.Media.Playback.MediaPlayer();
                mediaSource = MediaSource.CreateFromStream(stream, file.ContentType);
                title.Text  = file.Name;
            }
            else
            {
                mediaPlayer = new Windows.Media.Playback.MediaPlayer();
                mediaSource = MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/week4.mp4"));
                title.Text  = "week4";
            }
            mediaSource.OpenOperationCompleted += MediaSourceOpenOperationCompleted;
            mediaPlayer.Source = mediaSource;
            mediaPlayerElement.SetMediaPlayer(mediaPlayer);
            mediaTimeline = new MediaTimelineController();
            mediaPlayer.CommandManager.IsEnabled = false;
            mediaPlayer.TimelineController       = mediaTimeline;
            mediaTimeline.IsLoopingEnabled       = true;
            mediaTimeline.PositionChanged       += MediaTimelinePositionChanged;
            if (file != null && file.ContentType == "audio/mpeg")
            {
                cover.Visibility           = Visibility.Visible;
                fullScreenButton.IsEnabled = false;
            }
            else
            {
                cover.Visibility           = Visibility.Collapsed;
                fullScreenButton.IsEnabled = true;
            }
            RestartClick(sender, e);
        }
Esempio n. 18
0
        public MainPage()
        {
            this.InitializeComponent();

            mediaPlayer = new MediaPlayer();

            captureDeviceList = new ObservableCollection <DeviceInformation>();
            captureDeviceListView.ItemsSource = captureDeviceList;

            renderDeviceList = new ObservableCollection <DeviceInformation>();
            renderDeviceListView.ItemsSource = renderDeviceList;

            renderDeviceListView.SelectionChanged += RenderDeviceListView_SelectionChanged;

            outputTextBlock.Text    = "Ready to record.";
            mediaPlayer.MediaEnded += MediaPlayer_MediaEnded;
        }
Esempio n. 19
0
 private static void Current_CurrentPlayerStateChanged(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     if (UDPServer.Current.ClientList?.Count > 0)
     {
         SendPlayerStateChanged(sender.CurrentState);
     }
     DispatcherHelper.CheckBeginInvokeOnUI(() =>
     {
         if (sender.CurrentState == MediaPlayerState.Playing)
         {
             SendTrackChanged(MediaController.Current.CurrentPlayingIndex);
             _positionUpdateTimer?.Start();
         }
         else
         {
             _positionUpdateTimer?.Stop();
         }
     });
 }
Esempio n. 20
0
        public AudioPlayer(Slider trackSlider, TextBlock textBlockProgress)
        {
            Slider      = trackSlider;
            MediaPlayer = new MediaPlayer();
            DispatcherTimer timer = new DispatcherTimer {
                Interval = TimeSpan.FromSeconds(1)
            };

            timer.Tick += timer_Tick;
            timer.Start();
            SystemControls = MediaPlayer.SystemMediaTransportControls;

            TextBlockProgress = textBlockProgress;

            SystemControls.ButtonPressed    += SystemControls_ButtonPressed;
            SystemControls.IsPlayEnabled     = true;
            SystemControls.IsPauseEnabled    = true;
            SystemControls.IsNextEnabled     = true;
            SystemControls.IsPreviousEnabled = true;
        }
 private void CurrentPlayer_SeekCompleted(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     _playerSession?.NotifySeekCompleted();
 }
 private void CurrentPlayer_MediaFailed(Windows.Media.Playback.MediaPlayer sender, Windows.Media.Playback.MediaPlayerFailedEventArgs args)
 {
 }
Esempio n. 23
0
 private async void MediaPlayer_CurrentStateChanged(MediaPlayer sender, object args)
 {
     await App.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => Instance_CurrentStateChanged(null, new RoutedEventArgs()));
 }
Esempio n. 24
0
 private async void MediaPlayer_CurrentStateChanged(MediaPlayer sender, object args)
 {
     await App.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => Instance_CurrentStateChanged(null, new RoutedEventArgs()));
 }
 private void CurrentPlayer_MediaOpened(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     _playerSession?.NotifyMediaOpened();
 }
 private void CurrentPlayer_CurrentStateChanged(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     _playerSession?.NotifyControllerStateChanged(sender.CurrentState);
 }
Esempio n. 27
0
 private static void CurrentPlayer_VolumeChanged(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     SendVolumeChanged(sender.Volume);
 }
Esempio n. 28
0
 private void MediaPlayer_MediaOpened(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     //RaiseReadyEvent(this, args);
     this.StartPlayer();
 }
Esempio n. 29
0
 private void OnVideoRatioChanged(Windows.Media.Playback.MediaPlayer sender, double args)
 {
     _currentRatio = args;
     InvalidateArrange();
 }
Esempio n. 30
0
 private async void MediaPlayer_MediaEnded(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     await SetNextVideo();
 }
Esempio n. 31
0
 public void SetMediaPlayer(Windows.Media.Playback.MediaPlayer mediaPlayer)
 {
     MediaPlayer = mediaPlayer;
 }
Esempio n. 32
0
 private void MediaPlayer_MediaOpened(Windows.Media.Playback.MediaPlayer sender, object args)
 {
     media.Max = sender.PlaybackSession.NaturalDuration.TotalSeconds;
 }