您的位置:首页 > 其它

WPF MediaElement 声音循环播放

2011-05-06 15:45 363 查看
我们经常会在软件添加背景音乐。用WPF的MediaElement实现方法如下:

在XAML里添加一个播放器,使用如下代码:

<MediaElement x:Name="mySoundPlayer" DataContext="{Binding}">
<MediaElement.Triggers>
<EventTrigger RoutedEvent="MediaElement.Loaded">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>

<!-- The MediaTimeline has a RepeatBehavior="Forever" which makes the media play
over and over indefinitely.-->
<MediaTimeline Source="{Binding BgMusicPath}" Storyboard.TargetName="mySoundPlayer"
RepeatBehavior="Forever" />

</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
</MediaElement.Triggers>
</MediaElement>


声音文件可以在资源文件里定义,直接写成:<MediaTimeline Source="Resources/bgMusic.mp3" Storyboard.TargetName="mySoundPlayer" RepeatBehavior="Forever" />

如果需要从程序以外的文件夹获取背景音乐,那么就如上面代码所示,用音乐文件的路径绑定到MediaElement.

定义一个类来保存音乐文件的路径:

public class BgMusic
{
public string BgMusicPath { get; set; }
}

在C# Code Behind里添加如下代码:

private void playSound()
{
BgMusic bm = new BgMusic();
bm.BgMusicPath = AppDomain.CurrentDomain.BaseDirectory + "背景音乐//bgMusic.mp3";
mySoundPlayer.DataContext = bm;
}

在窗体加载时,调用 playSound(); 就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: