我想在我的新项目的启动器中播放一些背景音乐。但是我得到了一个错误。
private void playlooping()
{
SoundPlayer.PlayLooping(system.Resources.Bgm);
}
//Bgm is the name of the song.
出于某种原因,我收到了错误
没有超载的方法' PlayLooping'采取1个参数
答案 0 :(得分:1)
正如我在评论中所提到的,PlayLooping does not take any arguments
。因此,您需要指定想要在其他地方播放的声音。这可以通过SoundPlayer
- 这样的构造函数设置来完成:
// via string path
var soundPlayer = new SoundPlayer(@"C:\somePath\someFile.wav");
// via stream
var soundPlayer = new SoundPlayer(musicStream);
因此,如果你的资源是一个字符串,你应该很高兴:
var soundPlayer = new SoundPlayer(system.Resources.Bgm);
替代方法是在通过SoundPlayer
- 或Site
- Stream
对象的属性实例化SoundPlayer
后设置字符串路径或流:
var soundPlayer = new SoundPlayer();
// via path
soundPlayer.Site = @"C:\path\test.wav";
// via stream
soundPlayer.Stream = someStream;
设置完这个后,你应该好好调用PlayLooping
。因此,您的最终代码应该看起来像这样(在测试Windows窗体应用程序中适用于我,声音文件只是放在我的调试文件夹中):
var soundPlayer = new SoundPlayer("test.wav");
soundPlayer.PlayLooping();
您可以在此处SoundPlayer
找到完整的文档:https://msdn.microsoft.com/en-us/library/system.media.soundplayer(v=vs.110).aspx