停止播放 Windows 10 通用应用中页面上的所有媒体元素
Stop Playing All Media Element on Page in Windows 10 Universal App
我正在 xaml 页面上创建动态媒体元素和动态按钮,如下所示:
MediaElement audioElement= new MediaElement();
audioElement.Source = new Uri(ApplicationData.Current.RoamingFolder.Path + "\"+ audioFileName, UriKind.RelativeOrAbsolute);
audioElement.AutoPlay = false;
audioElement.Volume = 1;
然后点击按钮播放音频:
audioElement.Play();
如何停止所有先前播放的媒体元素并一次只播放一个音频,因为有多个媒体元素具有不同的来源。
我已经解决了这个问题,方法是使用全局 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;
再次将本地媒体元素分配给全局媒体元素。
我正在 xaml 页面上创建动态媒体元素和动态按钮,如下所示:
MediaElement audioElement= new MediaElement();
audioElement.Source = new Uri(ApplicationData.Current.RoamingFolder.Path + "\"+ audioFileName, UriKind.RelativeOrAbsolute);
audioElement.AutoPlay = false;
audioElement.Volume = 1;
然后点击按钮播放音频:
audioElement.Play();
如何停止所有先前播放的媒体元素并一次只播放一个音频,因为有多个媒体元素具有不同的来源。
我已经解决了这个问题,方法是使用全局 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;
再次将本地媒体元素分配给全局媒体元素。