在Windows 10通用应用程序中停止播放页面上的所有媒体元素

本文关键字:元素 媒体 播放 10通 Windows 应用程序 | 更新日期: 2023-09-27 18:07:01

我在一个xaml页面上创建了一个动态媒体元素和一个动态按钮,如下所示:

MediaElement audioElement= new MediaElement();
audioElement.Source = new Uri(ApplicationData.Current.RoamingFolder.Path + "''"+ audioFileName, UriKind.RelativeOrAbsolute);
audioElement.AutoPlay = false;
audioElement.Volume = 1;

点击按钮播放音频:

 audioElement.Play();

如何停止所有先前播放的媒体元素,一次只播放一个音频,因为有多个不同来源的媒体元素

在Windows 10通用应用程序中停止播放页面上的所有媒体元素

我已经修复了使用全局MediaElement和播放和暂停相同媒体元素的问题,通过在点击播放按钮时分配源。

希望对你有帮助。

if (null != audioPlayerElement.Source)
                    {
                        audioPlayerElement.Stop();
                        FrameworkElement elem = this.ContentPanel.FindName(audioPlayerElement.Tag.ToString()) as FrameworkElement;
                        RelativePanel audioPanel = elem as RelativePanel;
                        Button playButton = (from im in audioPanel.Children.OfType<Button>() select im).FirstOrDefault();
                        playButton.Tag = "PAUSED";
                        ImageBrush backgroundImage = new ImageBrush();
                        backgroundImage.ImageSource = new BitmapImage(new Uri(@"ms-appx:///Assets/Video_Play_button.png"));
                        backgroundImage.Stretch = Stretch.None;
                        playButton.Background = backgroundImage;
                        Slider prevSlider = (from im in audioPanel.Children.OfType<Slider>() select im).FirstOrDefault();
                        prevSlider.Value = 0;
                    }

audioPlayerElement = audioElement;

将本地媒体元素重新赋值给全局媒体元素