在 Windows 中检测耳机

发布于 2024-10-29 08:42:44 字数 222 浏览 2 评论 0原文

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

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

I'm trying to detect if the headphones are plugged in on Windows. I've already tried DirectSound and the NAudio library and have not had any success. Does anyone have any suggestions?

NOTE: this question is a duplicate of this question, but the answer to that question didn't contain any code samples or tutorials.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

零崎曲识 2024-11-05 08:42:44

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

你们中的任何人都可以检查这是否有效吗? - 您必须引用 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

So...I think I might found something REALY obscure..

Can any of you guys check if that works? - You MUST have the NAudio library referenced..

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());

This property return's 1 (Plugged) or 0 (Unplugged).. and It's working realy good for me..

UPDATE: Just published the app on CodePlex - iTunesHead

捂风挽笑 2024-11-05 08:42:44

Microsoft.DirectX.DirectSound.Speakers 怎么样?

Speakers 对象应将以下扬声器类型属性之一设置为 true:

  • 五点一
  • 耳机
  • 单声道
  • 七点一
  • 立体声
  • 环绕

What about Microsoft.DirectX.DirectSound.Speakers?

A Speakers object should have one of the following speaker type properties set to true:

  • FivePointOne
  • Headphone
  • Mono
  • Quad
  • SevenPointOne
  • Stereo
  • Surround
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文