DirectPlay DirectPlay C++ 샘플 VoiceConnect   [목차열람] [주소복사] [슬롯비우기]
VoiceConnect
 
Microsoft DirectX 9.0

VoiceConnect


VoiceConnect 샘플은, 다른 player와의 네트워킹에 의해, Microsoft® DirectPlay® Voice 의 채팅 세션을 시작 하는 방법을 나타낸다. 세션에 참가하는지, 또는 세션을 생성 하면, player는 마이크를 사용해 회화할 수 있게 된다. 세션에는, 다른 player도 언제라도 참가할 수 있다.

패스

소스 파일 : (SDK 루트) \Samples\C++\DirectPlay\VoiceConnect

실행 가능 파일 :(SDK 루트) \Samples\C++\DirectPlay\Bin

사용자가이드

접속 방법에 대해서는,SimplePeer 샘플의 「사용자가이드」를 참조할것. 접속 후는, 사용하는 음성 CODEC 를 지정하는 다이알로그 박스가 호스트에게 표시된다. 보통, 음성 애플리케이션은 자동적으로 음성 CODEC 를 선택하는지, 다른 방법으로 사용자를 선택할 수 있도록(듯이) 한다. 채팅 세션이 시작 되면 모두 클라이언트도 [Setup] 를 클릭해, 재생 또는 캡춰의 설정을 변경할 수 있다.

  Internetwork Packet Exchange (IPX) 서비스 프로바이더를 선택했을 경우, DirectPlay 에 주소의 검색을 실행시키려면 ,[use DPNSVR] 체크 박스를 온으로 한다.

프로그래밍 정보

VoiceConnect 샘플은, SimplePeer 샘플과 매우 닮은 형식이다. VoiceConnect 가 다른 것은, 클라이언트가 DirectPlay Voice 를 사용해, 컴퓨터의 마이크를 이용해 서로 회화를 할 수 있는 것이다. 상세한 프로그래밍 정보에 대해서는, SimplePeer 샘플의 「프로그래밍 정보」를 참조할것.

음성 기능을 생성 하기 위해서는, 애플리케이션은 최초로 DirectPlay Voice 를 초기화할 필요가 있다. 이 샘플에서는, 메인 다이알로그 박스가 초기화될 때 CNetVoice::Init 를 호출해, 이 처리를 실행한다. CNetVoice::Init 는, 다음의 태스크를 실행한다.

DirectPlayVoiceClientMessageHandler 는, 다른 DirectPlay 메시지를 처리한다. 그 메시지의 예를 다음에 나타낸다.

[Exit] 가 클릭되었을 경우, 애플리케이션은 CNetVoice::Free 를 호출해, DirectPlay Voice 를 클린 업 할 필요가 있다. CNetVoice::Free 는, 다음의 처리를 실행한다.

  1. 음성 세션으로부터 player의 접속을 해제한다. VoiceSessionDisconnect 함수는 IDirectPlayVoiceClient::Disconnect 를 호출해,IDirectPlayVoiceClient 개체를 릴리즈 한다.
  2. 이 player가 호스트인 경우, 음성 세션을 삭제한다. VoiceSessionDestroy 함수는 IDirectPlayVoiceServer::StopSession 를 호출해,IDirectPlayVoiceServer 개체를 릴리즈 한다.


© 2002 Microsoft Corporation. All rights reserved.
↑TOP