我正在开展一个小项目,以后会帮助我制作游戏。我想要实现的是能够从玩家计算机上的路径玩游戏。路径已知,但我找不到任何方法来播放不是来自内容路径的歌曲。
我也不是在谈论更改内容路径的根目录,因为歌曲不会加载LoadContent,它会在游戏已经开启时加载。如果我不能这样做,我将不得不回到开发Windows窗体的游戏,我不是它的粉丝..
答案 0 :(得分:3)
System.IO.FileStream fs = new System.IO.FileStream(@"C:\Myfile.wav", System.IO.FileMode.Open);
SoundEffect mysound = SoundEffect.FromStream(fs);
fs.Dispose();
@“C:\ Myfile.wav”可以是相对路径或绝对路径。不确定MP3或其他。
最糟糕的情况是,只需将FMod Ex音响系统嵌入到您的XNA游戏中。
答案 1 :(得分:1)
您可以使用Song
方法(MSDN从磁盘上的文件(普通MP3文件,而不是通过内容管道的内容)创建Song.FromUri
的实例)。
当然,对于该方法有一些注意事项 - 请参阅this answer了解详细信息以及从磁盘上的文件创建Song
对象的另一种方法(使用反射)。
(最后,值得指出的是,如果你想坚持使用WinForms的方法,可以安全地在XNA游戏中使用。)