首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测麦克风是否存在

如何检测麦克风是否存在
EN

Stack Overflow用户
提问于 2010-02-09 19:09:45
回答 4查看 2.5K关注 0票数 5

我刚刚接到了一个很长的技术支持电话,因为一个客户的笔记本上没有麦克风。(愚蠢的我:他们说他们以前用过麦克风,我从没听说过没有麦克风的笔记本电脑)。

我想知道是否有一种方法来检测是否有麦克风(录音能力)的Windows,Vista,7。

(我已经启用了错误处理,它会记录错误,然后退出函数,但是如果没有麦克风,应用程序就会在Windows 7上崩溃。)

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-02-09 19:41:58

我认为在VB 6中唯一能够做到这一点的方法是通过Direct:

http://msdn.microsoft.com/en-us/library/bb318770(VS.85).aspx

你可以看看这个:

http://msdn.microsoft.com/en-us/library/bb280815(VS.85).aspx

CaptureDevices集合类(Microsoft.DirectX.DirectSound)

http://msdn.microsoft.com/en-us/library/ms810619.aspx

你也可以打电话给dxdiag。

票数 0
EN

Stack Overflow用户

发布于 2010-02-15 19:55:36

我会使用IMMDeviceEnumerator::GetDefaultAudioEndpoint -这将返回指定角色和数据流的默认音频设备。

特别是,您可以使用:

代码语言:javascript
复制
    CComPtr<IMMDeviceEnumerator> pEnumerator;
    CComPtr<IMMDevice> pDevice;

    hr = CoCreateInstance(__uuidof(MMDeviceEnumerator), NULL,
           CLSCTX_ALL, IID_PPV_ARGS(&pEnumerator));
    if (SUCCEEDED(hr))
    {
        hr = pEnumerator->GetDefaultAudioEndpoint(eCapture, eConsole, &pDevice);
    }
    if (!pDevice || hr == ERROR_NOT_FOUND)
    {
           // no microphone
    }
票数 1
EN

Stack Overflow用户

发布于 2010-02-15 21:00:39

查看系统托盘音频设备开关

在这个VB源代码中,您将举例说明如何枚举音频I/O设备。

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

https://stackoverflow.com/questions/2231736

复制
相关文章

相似问题

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