我是C#的新手,我正在制作迷你游戏。播放声音效果没问题,我可以使用System.Media.SoundPlayer
类对象来播放来自的传送wav文件,例如Properties.Resources.attack.wav
,这很好,但播放音效后背景音乐会停止播放。是的,我知道有Windows Media Player,但它使用URI,我似乎无法在那里添加资源目录。我不想使用像@"D:\MyGame\backgroundmusic.wav"
这样的本地目录,因为我想将它发送给朋友,仍然可以听到音乐。是否有任何类或外部sdk允许声音与来自Properties.Resources
的其他声音同时播放?如果不是,那么解决方案中的Resources文件夹的URI是什么?任何帮助或建议都会很棒!谢谢。
编辑:我已经打开了这些链接并尝试了几次。我的主要问题是“如何从解决方案的资源文件夹中播放声音而不会有其他声音中断它”
这是概念:
private void Form_Load(object sender, EventArgs e)
{
var player = new System.Windows.Media.MediaPlayer();
player.Open(Properties.Resources.sfx_background);
player.Play();
}
private void attack()
{
SoundPlayer p1 = new SoundPlayer();
p1.Stream = Properties.Resources.sfx_sword;
p1.Play();
}
p1与播放器同步,其中播放器从解决方案的资源获取声音文件,而不是从计算机的本地存储器获取声音文件。