SoundPlayer:如何选择输出设备?

时间:2011-05-30 16:28:44

标签: c# .net audio

如何为我的应用程序选择输出设备?我正在使用SoundPlayer类播放wav文件。

2 个答案:

答案 0 :(得分:6)

你应该放弃SoundPlayer的用法(除了播放常见的系统声音之外的任何其他内容)。我建议你去使用NAudio,它允许你正在寻找的东西,等等。

答案 1 :(得分:0)

我需要相同的功能。这是我使用NAudio的解决方案(与Neverbirth建议相同)

列出所有设备:

for (int n = -1; n < WaveOut.DeviceCount; n++)
{
    var caps = WaveOut.GetCapabilities(n);
    Console.WriteLine($"{n}: {caps.ProductName}");
}

播放wave文件:

WaveFileReader wav = new WaveFileReader("somefile.wav");
var output = new WaveOutEvent { DeviceNumber = 0 };
output.Init(wav);
output.Play();

别忘了清理资源:

wav.Dispose();
output.Dispose();

更多信息herehere