2009-07-21 4 views
1

마이크 잭이 연결되었을 때 알림을 받고 싶습니다. OS (특히 Vista)가 발동 한 이벤트는 무엇입니까 마이크가 연결되어 있지 않으면 오디오 패널에 녹음 장치가 표시되지 않습니다 (비스타). 이것은 XP에서는 결코 일어나지 않았습니다.마이크 플러그 인 이벤트/마이크 부착 이벤트 Vista

또한 마이크에 Bass Boost, Mic Boost (AGC) 등의 "고급 컨트롤"이있는 경우 믹서 컨트롤로 어떻게 컨트롤 할 수 있습니까?

개발 용으로 MFC를 사용하고 있습니다. 감사합니다.

답변

0

IMMNotificationClient을 구현하고 OnDeviceAdded 이벤트를 처리하고 싶습니다.
Vista의 다양한 컨트롤을 사용하려면 Device Topology API 컨트롤을 사용하는 것이 더 좋습니다 (IAudioLoudness 등). 그렇지 않은 경우 믹서 장치 ID &에 엔드 포인트 ID를 요청한 다음 엔드 포인트 ID를 사용하여 관심있는 실제 장치를 찾으십시오.

+0

안녕하세요 Eric! 답장을 보내 주셔서 감사합니다! 이제 나는 XP와 똑같은 것을 찾기 위해 고심하고있다. 저는 Vista SDK를 사용하지 않지만 이전 버전에서는 IMMNotificationClient를 얻을 수 없습니다. 이전 SDK에서이 작업을 수행 할 수있는 방법이 있습니까? 또한, 마이크/스피커가 꽂혀 있어도 (즉, 연결되었는지 여부) 확인할 수 있다면 시스템 쿼리가 있습니까? 감사합니다. –

+0

XP 수준의 API에 익숙하지 않아서별로 도움이되지 않습니다. 죄송합니다. –

+0

문제 없습니다. 에릭! 마이크를 사용하여 녹음하는 동안 사용자의 파워/데시벨을 감지 할 수있는 방법을 알고 계십니까? 사용자 입력에 따라 마이크 볼륨을 교정하고 싶습니다. 내가 사용하고있는 알고리즘은 waveInbuffer 값에 FFT를 적용하여 출력 레벨을 계산합니다. 그러나, 다른 기계에, 나는 다른 힘 수준을 얻고있다 (민감한 음성 카드에 관해서는, 더 높은 힘 수준을 얻고있다, 붙박이 mic가없는 동안조차) 이것을하는 다른 방법 있는가? 감사합니다. . –

관련 문제