저는 몇 시간 동안이 문제로 인해 화를 냈습니다. 필자는 TCP를 통해 패킷을 서버 응용 프로그램에 보내 개별 응용 프로그램의 오디오 볼륨을 제어 할 수있는 서비스 개발을 시작했습니다. 이것은 C++에 대한 지식을 향상시키는 취미 프로젝트입니다.ISimpleAudioVolume에 대한 IAudioSessionControl에서 QueryInterface를 사용하여 컴파일하지 못했습니다.
세션에 대한 포인터 목록을 작성하기 위해 ISessionEnumerator 인터페이스를 사용하고 있습니다. 세션에서 직접 볼륨을 제어 할 수 있다고 생각했을 것입니다. 빨리 ISimpleAudioVolume 인터페이스로 빨려 들어 다른 인터페이스가 필요할 것이라고 생각했습니다. 지금까지의 인터페이스를 검색하기위한 다음과 같은 코드를 가지고 : 그리고 내 헤더 파일에 다음과 같은 헤더를 포함하고
LNK2001 unresolved external symbol _IID_ISimpleAudioVolume
:
#pragma once
#include <Audioclient.h>
#include <audiopolicy.h>
#include <mmdeviceapi.h>
#include <AudioSessionTypes.h>
#include <endpointvolume.h>
#include <vector>
이것은 컴파일 오류가 발생
int AudioManager::AdjustVolumeBy(IAudioSessionControl * pSession, int adjustBy) {
void * pVolumeControl;
pSession->QueryInterface(IID_ISimpleAudioVolume, &pVolumeControl);
return 0;
}
또한 프로젝트를 만들 때 ATL 및 MFC를 포함하여 프로젝트를 만들었습니다. 모든 입력은 크게 감사드립니다.
아마도 _WIN32_WINNT 및 WINVER 변수를 Vista 이상으로 설정하지 않았습니까? https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt –
제안을 주셔서 감사합니다. 불행히도,이 프로젝트에 대한 Visual Studio에서 만든 헤더 파일에이 문제를 해결할 때 도움이되지 않습니다. –