在WP7应用程序中添加两个音乐源

时间:2012-10-08 12:20:09

标签: c# windows-phone-7 mediaelement

在我的WP7游戏应用中,我想要运行两个音乐文件。一个是背景音乐,另一个是用户动作,比如用户杀死敌人。我正在使用MediaElement来执行此操作。我面临两个问题。

1)如何循环播放背景音乐?

2)第二首音乐开始后,第一首音乐会停止,第二首音乐停止时不会重新开始。我不希望背景音乐停止,它们应该重叠。怎么做?

我正在使用silverlight。

XAML

<MediaElement x:Name="stroke"   AutoPlay="False" />
<MediaElement x:Name="bmusic"   AutoPlay="True" />

C#

 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
    {
        base.OnNavigatedTo(e);

        var settings = IsolatedStorageSettings.ApplicationSettings;
        if (settings.Contains("bm"))
        {
            string hy=(string)settings["bm"];
            //check if user has disabled music play
            if (hy == "1")
            {
                bmplay = 1;
                // play background music
                bmusic.Source = new Uri("bmusic.mp3", UriKind.Relative);

                bmusic.Play();

            }
            else
            {
                bmplay = 0;
            }
        }
        else
        {
            bmplay = 1;
            // play b music
            bmusic.Source = new Uri("bmusic.mp3", UriKind.Relative);

            bmusic.Play();
        }



        if (NavigationContext.QueryString.TryGetValue("msg", out msg))
        {
           //  textBox1.Text +=" "+ msg;
             find_move();
        }


    }

1 个答案:

答案 0 :(得分:0)

对于重复音乐,你可以使用它:

Song s = Song.FromUri("song", new Uri(path));
FrameworkDispatcher.Update();
MediaPlayer.IsRepeating = repeat;
MediaPlayer.Play(s);

尝试将SoundEffect用于声音,它们可以与背景音乐同时播放 Sound effect in windows phone 7