在运行时从计算机播放歌曲

本文关键字:播放 计算机 运行时 | 更新日期: 2023-09-27 18:24:07

我正在做一个小项目,稍后将帮助我创建一个游戏。我正在努力实现的是从玩家电脑上的路径玩游戏的能力。路径是已知的,但我找不到任何方法来播放一首非内容路径的歌曲。

我也不是在谈论更改内容路径的根目录,因为歌曲不会用LoadContent加载,它会在游戏已经打开时加载。如果我不能做到这一点,我将不得不回去用我不喜欢的Windows窗体开发游戏。。

在运行时从计算机播放歌曲

    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或其他内容不确定。

在最坏的情况下,只需将FModEx音响系统嵌入到XNA游戏中即可。

您可以使用Song.FromUri方法(MSDN)从磁盘上的文件(一个普通的MP3文件,而不是通过内容管道的文件)创建Song的实例。

当然,这种方法也有一些需要注意的地方——有关详细信息和从磁盘上的文件创建Song对象的另一种方法(使用反射),请参阅此答案。

(最后,值得指出的是,如果你想坚持使用WinForms的方法,你在XNA游戏中使用的方法可能是安全的。)