【问题标题】:How to loop music in WP7 BGM?如何在 WP7 BGM 中循环播放音乐?
【发布时间】:2011-08-31 15:14:27
【问题描述】:
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>

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • OP这里,如何指定媒体元素的属性?我在 App.xaml 中添加了 mediaelement 代码。
    【解决方案2】:

    由于尚未完全回答--

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

    自动循环的简单方法是插入 MediaEnded="" 代码,即使您的代码完全在 XAML 中也是如此。有了这个,您可以创建一个事件处理程序来指定媒体结束时要做什么。因此,在您的示例中,您的 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 善良。

    【讨论】:

    • 这里是IF的参数--- private void DoThisWhenMediaEnds(object sender, RoutedEventArgs e)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    相关资源
    最近更新 更多