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>
解决方法
既然没有完全回答 –
你正在寻找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善良.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。