我正在使用MediaElement控件在C#中尝试Widows Store应用程序。我正在做的是播放视频,任何时候用户都可以暂停该视频并导航到其他页面。当它返回视频页面时,该视频将从其最后一个位置恢复。但在我的情况下,当用户导航回视频页面时,它会丢失所有状态的视频播放器,如播放时间,位置。 Code snipest如下所示。请检查并帮助我。
public MainPage()
{
this.InitializeComponent();
this.NavigationCacheMode = Windows.UI.Xaml.Navigation.NavigationCacheMode.Enabled;
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (e.NavigationMode == NavigationMode.Back)
{
if (VideoPlayer.CurrentState == MediaElementState.Paused)
{
VideoPlayer.Play(); // Video Player MediaElement
}
}
}
private void NavigateButton_Click(object sender, RoutedEventArgs e)
{
if (VideoPlayer.CurrentState != MediaElementState.Paused)
{
VideoPlayer.Pause();
this.Frame.Navigate(typeof(SecondPage));
}
}
答案 0 :(得分:0)
导航到页面时 - 默认情况下会创建页面的新实例。您可以将页面的NavigationCacheMode更改为启用以将其保留在内存中,但是您必须获取页面的资源管理及其可能使用的所有内存的所有权。或者,您可能只想在离开页面时保存该视频中的位置,并在您返回后恢复位置,这更有意义,因为它可以在应用程序重新启动或终止并恢复后继续存在。