我有一个用于跨页面播放音乐的 MediaElement。因此,我不得不将它作为资源保留在 App.xaml 中。
在我按下 WP 中的 Windows 按钮之前,一切都按预期工作。应用程序被墓碑化,并且 MediaElement 按预期停止播放。在我的 Application_Deactivated 上,我明确调用 Player.Stop()
当我恢复应用程序时会发生此问题。所有其他状态都已恢复,但媒体元素不播放音乐。我可以看到负责音乐的代码受到打击,但没有触发 MediaElement 的 MediaOpened。我错过了一些明显的东西吗?
编辑 [澄清 KeyboardP 的问题]
<Application.Resources>
<MediaElement x:Name="ME" MediaEnded="RepeatMedia" Volume="1" AutoPlay="False" Height="0" Source="/Sounds/mywave.wav" />
</Application.Resources>
在我的 App.XAML.CS 中,我有一个名为...的方法
public MediaElement player = null;
private void InitializeMusic()
{
if (App.Current.Resources.Contains("ME"))
{
player = App.Current.Resources["ME"] as MediaElement;
}
player.MediaOpened += player_MediaOpened;
}
我再次初始化它...
// Code to execute when the application is activated (brought to foreground)
// This code will not execute when the application is first launched
private void Application_Activated(object sender, ActivatedEventArgs e)
{
InitializeMusic();
}