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(); }); }
private void OnMediaOpened(Windows.Media.Playback.MediaPlayer session, object args) { Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { TogglePosterImage(false); }); }
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; } }
private void OnMediaFailed(Windows.Media.Playback.MediaPlayer sender, MediaPlayerFailedEventArgs args) { Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { Visibility = Visibility.Collapsed; }); }
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; } }
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; }
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; }
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; } }); }
private void OnVideoRatioChanged(Windows.Media.Playback.MediaPlayer sender, double args) { _currentRatio = args; Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { Visibility = Visibility.Visible; }); InvalidateArrange(); }
internal void SetMediaPlayer(Windows.Media.Playback.MediaPlayer mediaPlayer) { UnbindMediaPlayer(); _mediaPlayer = mediaPlayer; if (_playPauseButton != null) { BindMediaPlayer(); } }
private void OnMediaOpened(Windows.Media.Playback.MediaPlayer session, object args) { Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { if (_posterImage != null) { _posterImage.Visibility = Visibility.Collapsed; _mediaPlayerPresenter.Opacity = 1; } }); }
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; } }
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(); }
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}"; } }); }
//选择文件 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); }
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; }
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(); } }); }
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) { }
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); }
private static void CurrentPlayer_VolumeChanged(Windows.Media.Playback.MediaPlayer sender, object args) { SendVolumeChanged(sender.Volume); }
private void MediaPlayer_MediaOpened(Windows.Media.Playback.MediaPlayer sender, object args) { //RaiseReadyEvent(this, args); this.StartPlayer(); }
private void OnVideoRatioChanged(Windows.Media.Playback.MediaPlayer sender, double args) { _currentRatio = args; InvalidateArrange(); }
private async void MediaPlayer_MediaEnded(Windows.Media.Playback.MediaPlayer sender, object args) { await SetNextVideo(); }
public void SetMediaPlayer(Windows.Media.Playback.MediaPlayer mediaPlayer) { MediaPlayer = mediaPlayer; }
private void MediaPlayer_MediaOpened(Windows.Media.Playback.MediaPlayer sender, object args) { media.Max = sender.PlaybackSession.NaturalDuration.TotalSeconds; }