如何在WP7 BGM中循环播放音乐?

时间:2011-05-24 04:36:57

标签: c# windows-phone-7 mediaelement background-music

private void button1_Click(object sender, RoutedEventArgs e)
{
    MediaElement Lala = 
        ((MediaElement)App.Current.Resources["backgroundMusic"]).Stop();

    if (Lala == true)
    {
        ((MediaElement)App.Current.Resources["backgroundMusic"]).Play();
    }

为什么不循环?

或者还有其他方法可以让我的BGM循环吗?

这是我在App.xaml中写的,它可以工作,但不知道如何循环它:

<Application.Resources>
    <MediaElement x:Name="backgroundMusic" Source="Nyan.mp3" AutoPlay="True" Volume="1" />
</Application.Resources>

2 个答案:

答案 0 :(得分:2)

由于尚未完全回答 -

你正在寻找MediaElement在它停止循环时循环自己。你的代码没有这样做。相反,您的代码是1)单击按钮时停止音乐。下一行代码:if (Lala == true)是媒体元素上的bool。

自动循环的简单方法是,即使您完全使用XAML代码,也要插入MediaEnded=""代码。通过此操作,您可以创建一个事件处理程序来指定媒体结束时要执行的操作。因此,在您的示例中,您的XAML将如下所示:

 <MediaElement x:Name="backgroundMusic" Source="Nyan.mp3" AutoPlay="True" Volume="1" MediaEnded="DoThisWhenMediaEnds" />

并且您的c#将如下所示:

 private void DoThisWhenMediaEnds(object sender, RoutedEventArgs e)
 {
    //what to do when the media has ended. In this case:
    backgroundMusic.Play();
 }
你去吧!你将拥有你可以管理的所有Nyan善良。

答案 1 :(得分:0)

我认为更好的方法是指定媒体元素的属性...... Loop =“true”