我剛剛接到一個非常長的技術支持電話,因爲客戶的筆記本電腦上沒有麥克風。 (愚蠢的我們:他們說他們早些時候使用過麥克風,我從未聽說過有麥克風的筆記本電腦而不是)。如何檢測麥克風是否存在
我不知道是否有一種方法來檢測是否有在Windows XP,Vista中的麥克風(錄音功能),7
(處理啓用我有錯誤,它記錄錯誤和然後退出功能,但應用程序只是崩潰在Windows 7上如果沒有麥克風)
我剛剛接到一個非常長的技術支持電話,因爲客戶的筆記本電腦上沒有麥克風。 (愚蠢的我們:他們說他們早些時候使用過麥克風,我從未聽說過有麥克風的筆記本電腦而不是)。如何檢測麥克風是否存在
我不知道是否有一種方法來檢測是否有在Windows XP,Vista中的麥克風(錄音功能),7
(處理啓用我有錯誤,它記錄錯誤和然後退出功能,但應用程序只是崩潰在Windows 7上如果沒有麥克風)
我想你一定能夠做到這一點在VB 6的唯一途徑是通過直接X:
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 ..
我沒有測試過這個,但它看起來像是最好的答案(VB6)。 – 2010-10-12 13:51:41
@ClayNichols你測試過了嗎? – Kiquenet 2015-12-22 13:45:18
我會用IMMDeviceEnumerator::GetDefaultAudioEndpoint - 這將返回指定角色和數據流的默認音頻設備。
特別是,你可以使用:
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
}
原帖標籤爲VB6 .... – 2010-02-16 15:49:09
退房System Tray Audio Device Switcher
在這個VB source code你將如何枚舉音頻I/O設備的例子。
在C++#include "stdafx.h"
#include "Mmdeviceapi.h"
#include <atlbase.h>
int _tmain(int argc, _TCHAR* argv[])
{
CoInitializeEx(NULL, COINIT_MULTITHREADED);
CComPtr<IMMDeviceEnumerator> pEnumerator = NULL;
CComPtr<IMMDevice> pDevice;
const CLSID CLSID_MMDeviceEnumerator = __uuidof(MMDeviceEnumerator);
const IID IID_IMMDeviceEnumerator = __uuidof(IMMDeviceEnumerator);
HRESULT hr = CoCreateInstance(
CLSID_MMDeviceEnumerator, NULL,
CLSCTX_ALL, IID_IMMDeviceEnumerator,
(void**)&pEnumerator);
if (FAILED(hr))
{
printf("failed");
}
else
{
hr = pEnumerator->GetDefaultAudioEndpoint(eCapture, eConsole, &pDevice);
if (!pDevice || hr == ERROR_NOT_FOUND)
{
printf("no microphone");
}
else
{
printf("microphone present");
}
}
return 0;
}
照顧解釋? – 2014-09-25 01:03:49
類似:http://stackoverflow.com/questions/1559542/detecting-if-the-microphone-is-on – 2010-02-09 19:13:21
做您嘗試使用***直接X *** ? – Kiquenet 2015-12-22 13:44:19