首页 > 解决方案 > UWP MediaElement 未关闭

问题描述

我在我的 xaml 中添加了一个 MediaElement。单击时,它会显示带有图像和播放的播放器屏幕。我希望它在播放后关闭并删除。我试过 Close() 没有效果。

  private async void MovieItemAsync(object sender, Windows.UI.Xaml.RoutedEventArgs e)
    {
        mediaMainPage.Source = new Uri("ms-appx:///Videos/EMRON_Overview1.wmv", UriKind.Absolute);
        mediaMainPage.Play();
        //mediaMainPage.Stop();
        //mediaMainPage.Source = null;
    }

这是我的xml:

   <StackPanel Grid.Column="2" Grid.ColumnSpan="4" Grid.Row="0" Grid.RowSpan="4">
            <MediaElement  x:Name="mediaMainPage"   AutoPlay="True"/>
        </StackPanel> 

和:

 <Page.TopAppBar>
    <CommandBar>
        <AppBarButton x:Name="HelpItemBtn" Label="Help" Icon="Help" Click="HelpItemAsync" />
        <AppBarButton x:Name="MovieItemBtn" Label="Tutorial" Icon="Camera" Click="MovieItemAsync" />
    </CommandBar>
</Page.TopAppBar>

标签: user-interfaceuwpmediaelement

解决方案


我希望它在播放后关闭并删除。我试过 Close() 没有效果。

Source属性设置为 null 确实有效。如果要在视频播放到最后时删除 MediaElement 中的图像,可以Source在其 MediaEnded 事件处理程序中将该属性设置为 null。

<MediaElement  x:Name="mediaMainPage"   MediaEnded="mediaMainPage_MediaEnded"  AutoPlay="True"/>
private void mediaMainPage_MediaEnded(object sender, RoutedEventArgs e)
{
    mediaMainPage.Source = null;
}

推荐阅读