2011-05-24 60 views
4
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(); 
    } 

爲什麼不循環?如何在WP7 BGM中循環播放音樂?

或者還有什麼其他的方法可以讓我的BGM循環?

這是我在App.xaml中寫道,它的工作原理,但不知道如何循環一次:我

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

回答

0

想一個更好的辦法可能是在指定媒體元素的屬性...循環=「真」

+0

OP在這裏,如何指定媒體元素的屬性?我在App.xaml中添加了mediaelement代碼。 – lala 2011-05-24 07:48:41

2

因爲它沒有得到確切答覆 -

你正在尋找的MediaElement循環本身,當它停止其循環。你的代碼沒有這樣做。相反,您的代碼是1)單擊按鈕時停止音樂。下一行代碼:if (Lala == true)是媒體元素上的布爾值。

即使您完全使用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善良。

+0

這裏是IF的參數--- private void DoThisWhenMediaEnds(object sender,RoutedEventArgs e) – 2012-11-15 22:11:27