DirectPlay DirectPlay Voice 캡춰 포커스   [목차열람] [주소복사] [슬롯비우기]
캡춰 포커스
 
Microsoft DirectX 9.0

캡춰 포커스


Microsoft® DirectPlay® Voice 를 지원 하는 로비 가능 게임 애플리케이션과 로비 애플리케이션을 생성 하려면 , 포커스를 캡춰 하면 말하는 개념이 불가결하다. 게임 애플리케이션이 포커스 캡춰를 적절히 처리 하고 있지 않는 경우, 로비 애플리케이션으로부터 기동했을 때에, 음성 통신이 기능하지 않을 가능성이 있다.

이 점을 설명하기 위해(때문에), DirectPlay Voice 를 지원 하는 로비 애플리케이션으로, 2 명의 player가 만나는 경우에 대해 생각한다. 2 명의 player가 게임의 시작에 합의한다. 게임의 시작 후에, 양쪽 모두의 player의 컴퓨터로 로비 애플리케이션이 포커스를 잃어, 게임 애플리케이션의 각 복사가 포커스를 얻어온다. 게임 애플리케이션이 로비 애플리케이션으로부터 올바르게 포커스를 취득하지 않으면 게임 애플리케이션의 실행중도, 로비 애플리케이션에 포커스가 남을 가능성이 있다.

예를 들어, 게임 세션 실행중에, 1 번째의 player의 로비 애플리케이션이 포커스를 잃지 않고, 2 번째의 player의 게임 세션이 로비 애플리케이션으로부터 포커스를 얻어온다와 이 상황이 발생한다. 2 번째의 player로부터는, 1 번째의 player의 음성 세션이 반이중에 돌아와 버린 것처럼 보인다. 2 번째의 player에는 1 번째의 player의 목소리가 들리지만, 1 번째의 player에는 2 번째의 player의 목소리가 들리지 않는다. 1 번째의 player로부터는, 2 번째의 player의 목소리가 들리지 않기 때문에, 음성 세션이 종료한 것처럼 보인다. 또, 1 번째의 player에는, 2 번째의 player에 자신의 목소리가 들리고 있는 것을 모른다.

이 동작은, 의도된 것이다. 같은 상황으로, 1 번째의 player가 로비 애플리케이션으로부터 게임 세션을 시작 할 경우에, 문제가 발생해 세션을 시작 할 수 없는 경우에 대해 생각해 보자. 2 번째의 player의 세션이 문제 없게 시작 했을 경우에는, 2 번째의 player에는 1 번째의 player의 목소리가 들리기 (위해)때문에, 1 번째의 player로부터 2 번째의 player에 게임 세션의 실패를 알릴 수가 있다. 그러면, 양자 모두 로비로 돌아가, 세션의 시작을 한번 더 시험할 수가 있다.

캡춰 포커스를 적정하게 처리하려면 , 게임 애플리케이션으로,DVSOUNDDEVICECONFIG 구조체의 hwndAppWindow 파라미터를, 게임의 실행중에 포커스를 가지는 윈도우 핸들로 설정할 필요가 있다. 이 결과,IDirectPlayVoiceClient::Connect 를 호출해 DirectPlay 음성 세션을 생성 할 수 있게 된다. 다음에, 게임 애플리케이션은 DVMSGID_LOSTFOCUSDVMSGID_GAINFOCUS 메시지를 처리할 필요가 있다.

더 자세한 정보는, 「음성 캡춰 장치의 공유」를 참조할것.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP