我想玩启动里面的一些背景音乐,为我的新项目。但是,我得到一个错误。
private void playlooping()
{
SoundPlayer.PlayLooping(system.Resources.Bgm);
}
//Bgm is the name of the song.
出于某种原因,我得到的错误
无过载对方法“PlayLooping”需要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;
这一设置correclty后,你应该是不错的通话PlayLooping
。因此,最终的代码应该看起来像这样(为我的作品在测试Windows窗体应用程序,只要简单地把我的debug文件夹中的音效档):
var soundPlayer = new SoundPlayer("test.wav");
soundPlayer.PlayLooping();
您在这里可以找到的SoundPlayer
完整的文档:https://msdn.microsoft.com/en-us/library/system.media.soundplayer(v=vs.110).aspx