コード例 #1
0
 private void Stop(object sender, RoutedEventArgs e)
 {
     PlayButton.Visibility  = Visibility.Visible;
     PauseButton.Visibility = Visibility.Collapsed;
     mediaPlayer.Stop();
     EllStoryboard.Stop();
 }
コード例 #2
0
        private async void ChooseFile(object sender, RoutedEventArgs e)
        {
            var openPicker = new Windows.Storage.Pickers.FileOpenPicker();

            openPicker.FileTypeFilter.Add(".wmv");
            openPicker.FileTypeFilter.Add(".mp4");
            openPicker.FileTypeFilter.Add(".wma");
            openPicker.FileTypeFilter.Add(".mp3");

            var file = await openPicker.PickSingleFileAsync();

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

                mediaPlayer.SetSource(stream, file.ContentType);
                this.Pause(mediaPlayer, null);
                if (file.ContentType.StartsWith("video"))
                {
                    this.ellipse.Visibility     = Visibility.Collapsed;
                    this.mediaPlayer.Visibility = Visibility.Visible;
                }
                else
                {
                    this.ellipse.Visibility     = Visibility.Visible;
                    this.mediaPlayer.Visibility = Visibility.Collapsed;
                }
                EllStoryboard.Stop();
            }
        }
コード例 #3
0
        protected override void OnNavigatedFrom(NavigationEventArgs e)
        {
            ConnectedAnimationService.GetForCurrentView().PrepareToAnimate("DetailBackAnimation", GridBack);

            EllStoryboard.Stop();
            RollTicker.Stop();
            BackBlurTicker.Stop();
            BackBlurBrush.Amount = 0;
        }
コード例 #4
0
ファイル: MainPage.xaml.cs プロジェクト: lcccyb/homework
 void timer_Tick(object sender, object e)
 {
     timeLine.Value = ((TimeSpan)_mediaTimelineController.Position).TotalSeconds;
     if (timeLine.Value == timeLine.Maximum)
     {
         _mediaTimelineController.Position = TimeSpan.FromSeconds(0);
         _mediaTimelineController.Pause();
         EllStoryboard.Stop();
     }
 }
コード例 #5
0
 public void StopButton_Click(object sender, RoutedEventArgs e)
 {
     EllStoryboard.Stop();
     innerEllStoryboard.Stop();
     switchOn.Stop();
     mediaPlayer.Position = TimeSpan.FromSeconds(0);
     DisplayButton.Label  = "播放";
     DisplayButton.Icon   = new SymbolIcon(Symbol.Play);
     mediaPlayer.Pause();
 }
コード例 #6
0
ファイル: MainPage.xaml.cs プロジェクト: ktpm489/mediaPlayer
        private void stopMediaPlayer()
        {
            EllStoryboard.Stop();
            mediaTimelineController.Position = TimeSpan.FromSeconds(0);
            mediaTimelineController.Pause();
            var playIcon = new SymbolIcon(Symbol.Play);

            startAndPauseButton.Icon  = playIcon;
            startAndPauseButton.Label = "Play";
        }
コード例 #7
0
ファイル: MainPage.xaml.cs プロジェクト: liuwd8/uwp
 private void TimerTick(object sender, object e)
 {
     timeLine.Value   = ((TimeSpan)timelineController.Position).TotalSeconds;
     displayTime.Text = timelineController.Position.ToString().Substring(0, 8) + str;
     if (timeLine.Value == timeLine.Maximum)
     {
         timelineController.Position = TimeSpan.FromSeconds(0);
         timelineController.Pause();
         EllStoryboard.Stop();
     }
 }
コード例 #8
0
 private void SelectedMusicItemChanged()
 {
     EllStoryboard.Stop();
     innerEllStoryboard.Stop();
     switchOff.Begin();
     mediaPlayer.Pause();
     DisplayButton.Label = "播放";
     DisplayButton.Icon  = new SymbolIcon(Symbol.Play);
     mediaPlayer.Source  = MediaSource.CreateFromStorageFile(viewModel.SelectedMusicItem.File);
     getLyric(viewModel.SelectedMusicItem.Title, viewModel.SelectedMusicItem.Artist);
     Bindings.Update();
 }
コード例 #9
0
ファイル: MainPage.xaml.cs プロジェクト: lcccyb/homework
 private void stop_Click(object sender, RoutedEventArgs e)
 {
     try
     {
         _mediaTimelineController.Position = TimeSpan.FromSeconds(0);
         _mediaTimelineController.Pause();
         EllStoryboard.Stop();
     }
     catch
     {
     }
 }
コード例 #10
0
ファイル: MainPage.xaml.cs プロジェクト: Liu-YT/MOSAD
        // Stop the media.
        void StopMedia(object sender, RoutedEventArgs e)
        {
            //停止播放,再次播放会从头开始
            mediaTimelineController.Position = TimeSpan.FromSeconds(0);
            mediaTimelineController.Pause();

            Start.Visibility = Visibility.Visible;
            Pause.Visibility = Visibility.Collapsed;

            //图片旋转动画结束
            EllStoryboard.Stop();
        }
コード例 #11
0
ファイル: MainPage.xaml.cs プロジェクト: liuwd8/uwp
        private async void openfile_Click(object sender, RoutedEventArgs e)
        {
            FileOpenPicker openPicker = new FileOpenPicker();

            openPicker.ViewMode = PickerViewMode.Thumbnail;
            openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
            openPicker.FileTypeFilter.Add(".mp3");
            openPicker.FileTypeFilter.Add(".mp4");
            openPicker.FileTypeFilter.Add(".wma");
            openPicker.FileTypeFilter.Add(".mkv");
            file = await openPicker.PickSingleFileAsync();

            try
            {
                if (file != null)
                {
                    var mediaSource = MediaSource.CreateFromStorageFile(file);
                    mediaSource.OpenOperationCompleted += openOperationCompleted;
                    mediaPlayer.Source = mediaSource;
                    Debug.WriteLine(mediaPlayer.AudioCategory);
                    if (!IsAudio())
                    {
                        rotatePic.Visibility = Visibility.Collapsed;
                        EllStoryboard.Stop();
                    }
                    else
                    {
                        rotatePic.Visibility = Visibility.Visible;
                        StorageItemThumbnail thumbnail = await file.GetThumbnailAsync(ThumbnailMode.SingleItem);

                        if (thumbnail == null)
                        {
                            thumb.ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/1.jpg"));
                        }
                        else
                        {
                            BitmapImage image = new BitmapImage();
                            image.SetSource(thumbnail);
                            thumb.ImageSource = image;
                        }
                    }
                    if (timelineController.State == MediaTimelineControllerState.Running)
                    {
                        timeLine.Value = 0;
                        timelineController.Start();
                    }
                }
            }
            catch
            {
            }
        }
コード例 #12
0
ファイル: MainPage.xaml.cs プロジェクト: Liu-YT/MOSAD
 void Timer(object sender, object e)
 {
     nowTime.Text   = mediaPlayer.PlaybackSession.Position.ToString().Substring(0, 8);
     timeLine.Value = ((TimeSpan)mediaTimelineController.Position).TotalSeconds;
     if (timeLine.Value == timeLine.Maximum)
     {
         mediaTimelineController.Position = TimeSpan.FromSeconds(0);
         mediaTimelineController.Pause();
         EllStoryboard.Stop();
         Pause.Visibility = Visibility.Collapsed;
         Start.Visibility = Visibility.Visible;
     }
 }
コード例 #13
0
        void Timer_Tick(object sender, object e)
        {
            timeLine.Value = ((TimeSpan)_mediaTimelineController.Position).TotalSeconds;
            //textBlock.Text = GenTimeSpanFromSeconds(Math.Round(timeLine.Value));

            lowerTime.Text = GenTimeSpanFromSeconds(Math.Round(RangeSelectorControl.RangeMin));
            upperTime.Text = GenTimeSpanFromSeconds(Math.Round(RangeSelectorControl.RangeMax));
            totalTime.Text = GenTimeSpanFromSeconds(Math.Round(RangeSelectorControl.RangeMax) - Math.Round(RangeSelectorControl.RangeMin));
            if (timeLine.Value == timeLine.Maximum)
            {
                _mediaTimelineController.Position = TimeSpan.FromSeconds(0);
                _mediaTimelineController.Pause();
                EllStoryboard.Stop();
            }
        }
コード例 #14
0
        public MediaPlayerPage()
        {
            InitializeComponent();
            // 处理旋转盘片的显示和隐藏
            mpe.MediaOpened += async(Media, o) => {
                await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                                                                              () => {
                    mpe.TransportControls.IsStopEnabled = true;
                    if (mpe.NaturalVideoHeight > 0)
                    {
                        DisplayDisk = false;
                    }
                    else
                    {
                        DisplayDisk = true;
                    }

                    MediaElement media        = Media as MediaElement;
                    String allTime            = media.NaturalDuration.TimeSpan.ToString();
                    TimeRemainingElement.Text = allTime.Substring(0, allTime.IndexOf('.'));
                    ProgressSlider.Maximum    = media.NaturalDuration.TimeSpan.TotalSeconds;

                    ProgressSlider.IsEnabled = true;
                    dispatcherTimer          = new DispatcherTimer();
                    dispatcherTimer.Tick    += dispatcherTimer_Tick;
                    dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
                    dispatcherTimer.Start();
                    PlayPauseSymbol.Symbol = Symbol.Pause;
                });
            };


            mpe.MediaEnded += async(m, o) => {
                await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                                                                              () => {
                    EllStoryboard.Stop();
                    EllStoryboard.Begin();
                    EllStoryboard.Pause();
                    dispatcherTimer.Stop();
                    PlayPauseSymbol.Symbol  = Symbol.Play;
                    TimeElapsedElement.Text = "00:00:00";
                    ProgressSlider.Value    = 0;
                });
            };

            ProgressSlider.ValueChanged += MediaSlider_ValueChanged;
        }
コード例 #15
0
        private void StopButton_Click(object sender, RoutedEventArgs e)
        {
            if (mpe.CurrentState == MediaElementState.Playing)
            {
                EllStoryboard.Stop();
                EllStoryboard.Begin();
                EllStoryboard.Pause();

                TimeElapsedElement.Text = "00:00:00";
                ProgressSlider.Value    = 0;

                dispatcherTimer.Stop();

                mpe.Stop();
                PlayPauseSymbol.Symbol = Symbol.Play;
            }
        }
コード例 #16
0
        void timer_Tick(object sender, object e)
        {
            Display_ProcessBar.Value = ((TimeSpan)mediaPlayer.Position).TotalSeconds;
            if (Display_ProcessBar.Value == Display_ProcessBar.Maximum)
            {
                mediaPlayer.Position = TimeSpan.FromSeconds(0);
                if ((string)DisplayOrderButton.Tag == "Circle")
                {
                    EllStoryboard.Begin();
                    innerEllStoryboard.Begin();
                    switchOn.Begin();
                    mediaPlayer.Play();
                    DisplayButton.Label = "暂停";
                    DisplayButton.Icon  = new SymbolIcon(Symbol.Pause);
                }
                else
                {
                    mediaPlayer.Pause();
                    EllStoryboard.Stop();
                    switchOff.Begin();
                    innerEllStoryboard.Stop();
                    DisplayButton.Label = "播放";
                    DisplayButton.Icon  = new SymbolIcon(Symbol.Play);
                }
            }
            String time;
            int    minute  = ((int)Display_ProcessBar.Value) / 60;
            int    second  = ((int)Display_ProcessBar.Value) - minute * 60;
            string minutes = minute.ToString();
            string seconds = second.ToString();

            if (minute < 10)
            {
                minutes = "0" + minute.ToString();
            }
            if (second < 10)
            {
                seconds = "0" + second.ToString();
            }
            time             = minutes + ":" + seconds;
            CurrentTime.Text = time;
        }
コード例 #17
0
        private async void PlaybackSession_PlaybackStateChanged(MediaPlaybackSession sender, object args)
        {
            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
            {
                switch (State)
                {
                case MediaPlaybackState.Playing:
                    EllStoryboard.Resume();
                    break;

                case MediaPlaybackState.Paused:
                    EllStoryboard.Pause();
                    break;

                case MediaPlaybackState.None:
                    EllStoryboard.Stop();
                    break;
                }
            });
        }
コード例 #18
0
        void Timer_Tick(object sender, object e)
        {
            timeLine.Value = ((TimeSpan)_mediaTimelineController.Position).TotalSeconds;
            //textBlock.Text = GenTimeSpanFromSeconds(Math.Round(timeLine.Value));

            currentTime.Text = GenTimeSpanFromSeconds(Math.Round(timeLine.Value));

            if (timeLine.Value <= RangeSelectorControl.RangeMin || timeLine.Value >= RangeSelectorControl.RangeMax)
            {
                subtitle.Visibility = Visibility.Collapsed;
            }
            else
            {
                subtitle.Visibility = Visibility.Visible;
            }

            if (timeLine.Value == timeLine.Maximum)
            {
                _mediaTimelineController.Position = TimeSpan.FromSeconds(0);
                _mediaTimelineController.Pause();
                EllStoryboard.Stop();
            }
        }
コード例 #19
0
ファイル: MainPage.xaml.cs プロジェクト: liuwd8/uwp
        private void display_Click(object sender, RoutedEventArgs e)
        {
            ApplicationView view = ApplicationView.GetForCurrentView();

            if (view.IsFullScreenMode)
            {
                ImageBrush imageBrush = new ImageBrush
                {
                    ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/music.jpg", UriKind.Absolute))
                };
                grid.Background = imageBrush;
                view.ExitFullScreenMode();
            }
            else
            {
                if (!IsAudio())
                {
                    grid.Background      = new SolidColorBrush(Colors.Black);
                    rotatePic.Visibility = Visibility.Collapsed;
                    EllStoryboard.Stop();
                }
                view.TryEnterFullScreenMode();
            }
        }
コード例 #20
0
 // 停止播放,回到起始位置
 private void stopClick(object sender, RoutedEventArgs e)
 {
     mediaSimple.Stop();
     EllStoryboard.Stop();
 }
コード例 #21
0
        public async void OpenFileButton_Click(object sender, RoutedEventArgs e)
        {
            var openPicker = new FileOpenPicker();

            openPicker.FileTypeFilter.Add(".wmv");
            openPicker.FileTypeFilter.Add(".mp4");
            openPicker.FileTypeFilter.Add(".wma");
            openPicker.FileTypeFilter.Add(".mp3");

            var file = await openPicker.PickSingleFileAsync();

            // mediaPlayer is a MediaPlayerElement defined in XAML
            if (file != null)
            {
                var mediaSource = MediaSource.CreateFromStorageFile(file);
                mediaPlayer.Source = mediaSource;
                //time = mediaSource.Duration.GetValueOrDefault().ToString();
                //Time.Text = time;
                mediaSource.OpenOperationCompleted += MediaSource_OpenOperationCompleted;
                if (file.FileType == ".mp3" || file.FileType == ".wma")
                {
                    ellipse.Visibility      = Visibility.Visible;
                    innerEllipse.Visibility = Visibility.Visible;
                    image.Visibility        = Visibility.Visible;
                    Message.Visibility      = Visibility.Visible;
                }
                else
                {
                    ellipse.Visibility      = Visibility.Collapsed;
                    innerEllipse.Visibility = Visibility.Collapsed;
                    image.Visibility        = Visibility.Collapsed;
                    Message.Visibility      = Visibility.Collapsed;
                }
                using (StorageItemThumbnail thumbnail = await file.GetThumbnailAsync(ThumbnailMode.MusicView, 300))
                {
                    if (thumbnail != null && thumbnail.Type == ThumbnailType.Image)
                    {
                        var bitmapImage = new BitmapImage();
                        bitmapImage.SetSource(thumbnail);
                        innerPicture.ImageSource = bitmapImage;
                    }
                }
                try
                {
                    //StringBuilder outputText = new StringBuilder();
                    // Get music properties
                    MusicProperties musicProperties = await file.Properties.GetMusicPropertiesAsync();

                    //outputText.AppendLine("Album: " + musicProperties.Album);
                    //outputText.AppendLine("Artist: " + musicProperties.Artist);
                    //outputText.AppendLine("Title: " + musicProperties.Title);
                    // outputText.AppendLine("Duration: " + musicProperties.Duration);
                    // lyric.Text = outputText.ToString();
                    Title.Text      = musicProperties.Title;
                    ArtistName.Text = musicProperties.Artist;
                    AlbumName.Text  = musicProperties.Album;
                    string total = musicProperties.Duration.ToString();
                    Time.Text = total.Substring(3, 5);
                    getLyric(musicProperties.Title, musicProperties.Artist);
                }
                // Handle errors with catch blocks
                catch (FileNotFoundException)
                {
                    // For example, handle a file not found error
                }
            }
            EllStoryboard.Stop();
            innerEllStoryboard.Stop();
            switchOn.Stop();
            mediaPlayer.Position = TimeSpan.FromSeconds(0);
            DisplayButton.Label  = "播放";
            DisplayButton.Icon   = new SymbolIcon(Symbol.Play);
            mediaPlayer.Pause();
        }