1

我正在尝试在我的应用中播放背景音乐。最初我有这个:

<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();

    }

现在我自己的音乐根本不会加载。我尝试将其设置为内容,返回资源,不同的复制选项,绝对地址,相对地址和大约 50 条其他网络建议我。

徒劳无功。

有没有其他人遇到过这种问题?如果是这样,您是如何解决的?非常感谢帮助。提前致谢。

说真的微软,为什么这么难?!

4

1 回答 1

2

感谢库克兹。我已将 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();

    }

现在音乐正在正常工作……尽管有非常轻微的延迟。

于 2012-11-02T12:55:22.287 回答