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

    }

これで、自分の音楽がまったく読み込まれなくなります。私はそれをコンテンツに設定しようとしました、リソースに戻って、さまざまなコピーオプション、絶対アドレス、相対アドレス、およびWebが私に指示した約50の他の提案。

役立たず。

他の誰かがこの種の問題を被ったことがありますか?もしそうなら、どのようにそれを解決しましたか?感謝します。前もって感謝します。

真剣にマイクロソフト、なぜそれをそんなに難しくするのですか?!

4

1 に答える 1

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

    }

これで、音楽は正常に機能しています...非常にわずかな遅延がありますが。

于 2012-11-02T12:55:22.287 に答える