- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我想使用 C# 检索连接到 PC 的 USB 耳机设备。我尝试了以下解决方案但没有奏效:
解决方案 1: How to enumerate audio out devices in c#
我试过了,但设备名称显示为“(通用 USB 音频)”,而不是实际名称。
解决方案 2: How to get the default audio device?
解决方案 3: Detecting Audio Input & output devices connected to system
解决方案 2 和解决方案 3 给出了以下结果:设备名称被截断为 31 个字符。例如:“麦克风(森海塞尔 VOICE 689”
****问:有什么办法可以得到设备的完整名称吗?****
最佳答案
如果您知道它是一个 USB 音频设备,并且假设驱动程序是为该设备正确编写的,您可以这样做:
foreach (ManagementObject drive in
new ManagementObjectSearcher(
"select Name from Win32_USBDevice where Service='usbaudio'").Get())
{
{
string s = drive["Name"].ToString();
// Continue
}
}
添加你只能得到 31 个字符(技术上是 32 个),因为 native .DLL 的 PInvoke 使用 char[32],所以它不能返回更多;您不会从解决方案 1 和 2 中得到所需的东西。
此外,我不知道您为什么不能使用 Win32_USBDevice,因为我也在使用 Win7 x64,而且我没有遇到任何问题。 This链接可能对您有帮助。
可能的替代方案您可以使用 Win32_PnPEntity
类:
foreach (ManagementObject drive in
new ManagementObjectSearcher(
"select Name from Win32_PnPEntity where Service='usbaudio'").Get())
{
{
string s = drive["Name"].ToString();
// Continue. Can look at Description, Caption, etc. too
}
}
关于c# - 列出连接到 Windows PC 的所有 USB 音频耳机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24023944/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!