我正在尝试在我的应用中播放背景音乐。最初我有这个:
<Application.Resources>
<MediaElement x:Key="AppSoundFile" Name="backgroundMusic" Source="track.mp3" AutoPlay="False" Volume="1" MediaEnded="LoopMusic"/>
</Application.Resources>
private void PlayMusic()
{
backgroundMusic = new MediaElement();
backgroundMusic = (MediaElement)Application.Current.Resources["AppSoundFile"];
backgroundMusic.AutoPlay = true;
backgroundMusic.Volume = 5;
backgroundMusic.Play();
}
它工作正常。
然而,根据我不允许用户选择自己的音乐这一概念,我的应用被拒绝了。因为如果我把它放在App.xaml中,用户的音乐会自动停止,所以我把代码移到App.xaml.cs中这样:
private void PlayMusic()
{
backgroundMusic = new MediaElement();
backgroundMusic.Source = new Uri("track.mp3", UriKind.RelativeOrAbsolute);
backgroundMusic.AutoPlay = true;
backgroundMusic.Volume = 5;
backgroundMusic.Play();
}
现在我自己的音乐根本不会加载。我试图将其设置为内容,返回资源,不同的复制选项,绝对地址,相对地址&amp;网上指示我的约50个其他建议。
无济于事。
还有其他人遇到过这种问题吗?如果是这样,你是如何解决的?非常感谢。提前致谢。
认真的微软,为什么这么难?!
答案 0 :(得分:2)
感谢Kookiz。我已将PlayMusic从app.xaml.cs移到MainPage.xaml.cs(因为app.xaml没有LayoutRoot)。
private void PlayMusic()
{
backgroundMusic = new MediaElement();
backgroundMusic.Source = new Uri("track.mp3", UriKind.RelativeOrAbsolute);
backgroundMusic.AutoPlay = true;
backgroundMusic.Volume = 1;
LayoutRoot.Children.Add(backgroundMusic);
backgroundMusic.Play();
}
现在音乐正在发挥作用......虽然延迟非常轻微。