我想从集成在笔记本电脑中的扬声器播放声音文件,即使通过耳机插孔连接了一个额外的扬声器(但它没有在声音设备列表中列出) .
我已经看了How can I make the computer beep in C#?和How to beep using PC speaker?并且已经了解beep driver was removed in windows 7 .
但是,我不想使用由移除的驱动程序控制的极其简单的集成扬声器,而是大多数现代笔记本电脑中存在的普通扬声器 .
不幸的是,当我连接外部扬声器时,它们不会显示为附加设备 . 当我运行此代码(使用NAudio)时,我总是得到一个结果,无论外部扬声器是否连接都是一样的:
var enumerator = new MMDeviceEnumerator();
foreach (var endpoint in enumerator.EnumerateAudioEndPoints(DataFlow.Render, DeviceState.Active))
{
Console.WriteLine(endpoint.FriendlyName);
}
是否可以在连接外部扬声器的同时在普通笔记本电脑扬声器上播放声音?
编辑:
我不认为我的问题是Play a sound in a specific device with C#的重复我没有多张声卡(我怎么验证?) .
来自另一个问题( waveOut.DeviceNumber = deviceNumber;
)的解决方案对我来说也不起作用 . 当我选择 deviceNumber = 0;
时,声音来自我的外部扬声器,如果已连接 . 如果我设置 deviceNumber = 1;
(当它连接时)我得到一个 MmException