Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法在c#控制台应用程序中同时播放两种声音?_C#_Audio_Console Application_Soundplayer - Fatal编程技术网

有没有办法在c#控制台应用程序中同时播放两种声音?

有没有办法在c#控制台应用程序中同时播放两种声音?,c#,audio,console-application,soundplayer,C#,Audio,Console Application,Soundplayer,我正在用c#做一个文字游戏。但我想同时拥有多种声音。所以我试着用SoundPlayer。但每当我加载另一个声音时,它就会切断另一个声音。如果这有道理的话。我是编程新手,所以请试着像IM5一样解释 如果你有两种不同的声音想一起演奏 下面的示例是Console.Beep,它可以扩展到其他声音 您可以将Console.Beep()替换为要播放的其他声音 将以上2添加到您的命名空间中 //First sound you want to play var first = await Task.Run(

我正在用c#做一个文字游戏。但我想同时拥有多种声音。所以我试着用SoundPlayer。但每当我加载另一个声音时,它就会切断另一个声音。如果这有道理的话。我是编程新手,所以请试着像IM5一样解释

如果你有两种不同的声音想一起演奏

下面的示例是Console.Beep,它可以扩展到其他声音

您可以将Console.Beep()替换为要播放的其他声音


将以上2添加到您的命名空间中

//First sound you want to play

var first = await Task.Run(() => Console.Beep());

//Optional Delay
await Task.Delay(500); //Does not halt the current thread

//Second sound you want to play
var second = await Task.Run(() => Console.Beep(500,1000));

我一直在同一个问题上挣扎


简单的回答是你不能。在任何给定过程中,系统只允许一个通道连接到声音接口。因此,当你开始一个新的声音时,前一个声音就会终止。

@RyanWilson,你会如何制作一个新的声音播放器?我不明白。你可以用Beep做原型,看看是否可以一起玩。你可以考虑扩展到其他扫描你添加了一些明确的例子,你尝试了吗?对不起,我知道我必须听起来像一个完全白痴在这里,但我真的不知道。为什么我会在整件事上出错?当然。嗯,它说“不能将void赋值给隐式类型的变量”您的代码可以工作,但是它仍然会停止音乐:/sorry无法测试,我编辑了代码。以前是同步的。
//First sound you want to play

var first = await Task.Run(() => Console.Beep());

//Optional Delay
await Task.Delay(500); //Does not halt the current thread

//Second sound you want to play
var second = await Task.Run(() => Console.Beep(500,1000));