从资源C#播放音乐

问题描述 投票:0回答:1

我想玩启动里面的一些背景音乐,为我的新项目。但是,我得到一个错误。

private void playlooping()
{
    SoundPlayer.PlayLooping(system.Resources.Bgm);
}

//Bgm is the name of the song.

出于某种原因,我得到的错误

无过载对方法“PlayLooping”需要1个参数

c# audio resources
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.