c# - 在 Windows 中检测耳机

标签 c# windows directsound naudio headphones

<分区>

我正在尝试检测耳机是否已插入 Windows。我已经尝试过 DirectSound 和 NAudio 库,但没有取得任何成功。有人有什么建议吗?

注意:此问题与 this question 重复,但该问题的答案不包含任何代码示例或教程。

最佳答案

所以...我想我可能会发现一些非常晦涩的东西..

你们中的任何人都可以检查这是否有效? - 你必须有 NAudio 库引用..

var enumerator = new MMDeviceEnumerator();
var d = enumerator.GetDefaultAudioEndpoint(DataFlow.Render, Role.Multimedia);
Console.WriteLine(d.Properties[new Guid("46d16a2c-5654-41c0-911e-7860d2bce7ee")].Value.ToString());

此属性返回 1(插入)或 0(未插入)..它对我来说真的很好..

更新:刚刚在 CodePlex - iTunesHead 上发布了该应用程序

关于c# - 在 Windows 中检测耳机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5526998/

相关文章:

windows - TYPE_E_BUFFERTOOSMALL 和 DISP_E_BUFFERTOOSMALL HRESULT 值之间有什么区别?

windows-7 - 在 Windows Vista 和更新版本中播放音频或视频时,网络性能不佳的原因是什么?

c# - 在 C# 中,方法是否可以返回 List 以便客户端只能读取它而不能写入它?

c# - 如何在 TPL 数据流中分支逻辑?

c# - Ubuntu上的Unity/C#和Python通信

c++ - 在不破坏目标流的情况下写入流的前 N ​​行以外的所有内容

c# - GameTime.ElapsedGameTime 没有改变

windows - 窗口站和桌面

delphi - 当 MP3 已编码专辑封面时,DirectX 会出现 MP3 播放问题

audio - 我听到点击带有使用Graph Edit创建的DirectShow图的音频,但PC上的播放器软件可以流畅地播放音频