问题
你想在XNA游戏中播放一个MP3或WMA声音文件。
解决方案
XNA可以使用默认内容管道将MP3或WMA声音文件加载到一个Song对象中,加载之后,就可以使用静态的MediaPlayer类播放Song对象了。
工作原理
首先将MP3或WMA文件添加到XNA项目中。这和添加一个图像是一样的,可参见教程3-1。最简单的方法就是将MP3或WMA文件拖动到Content文件夹上。
你需要一个Song对象链接到MP3或WMA文件上,在代码顶部添加这个对象:
Song mySong;
在LoadContent方法中使用内容管道加载对象:
mySong=Content.Load<Song>(“Sample”);
使用以下简单命令就可以播放文件了:
MediaPlayer.Play(mySong);
MediaPlayer是一个静态类,一次只能播放一个声音,这对播放背景音乐是很理想的。但是,你需要像教程7-1中类似的方法在游戏中播放另一个声音。
Song对象和MediaPlayer类都有一些有用的属性,诸如歌的长度,当前歌的播放进度等:
TimeSpan toGo=mySong.Duration - MediaPlayer.PlayPositon; String myText = “Time remaining for current song:” + toGo.ToString();