首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NAudio WaveOut设备ID

NAudio WaveOut设备ID
EN

Stack Overflow用户
提问于 2012-11-07 17:35:44
回答 1查看 5.2K关注 0票数 3

我需要选择波形输出设备,以播放声音。但我不能这么做。

代码语言:javascript
复制
void Initialize()
{
_WaveOut = new WaveOut();
var reader = new WaveFileReader(FileName);
_WaveOut.Init(new WaveChannel32(reader));
}

此函数将启动,然后窗体将启动。在我的表单上,我选择了waveout device with combobox。Combobox由以下代码填充:

代码语言:javascript
复制
for (int i = 0; i < WaveOut.DeviceCount; i++)
{
     WaveOutCapabilities WOC = WaveOut.GetCapabilities(i);
     comboBox2.Items.Add(WOC.ProductName);

}

在此之后,我选择我的设备。

代码语言:javascript
复制
int WaveOutDeviceId = comboBox2.SelectedIndex;

并启动播放功能:

代码语言:javascript
复制
void Play()
{
_WaveOut.DeviceNumber = WaveOutDeviceId;
_WaveOut.Play();
}

但是我的声音总是在默认设备上播放(数字= 0)。如果我对麦克风执行此操作,此代码将正常工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-07 22:27:19

一旦调用了Init,就来不及更改DeviceId了。当你想更换设备时,我建议创建一个新的WaveOut实例。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13266904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档