44 lines
1.4 KiB
C++
44 lines
1.4 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
//
|
|
// Purpose: Engine voice interface
|
|
//
|
|
// $NoKeywords: $
|
|
//=============================================================================//
|
|
|
|
#ifndef IENGINEVOICE_H
|
|
#define IENGINEVOICE_H
|
|
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "basetypes.h"
|
|
|
|
#define IENGINEVOICE_INTERFACE_VERSION "IEngineVoice001"
|
|
|
|
abstract_class IEngineVoice {
|
|
public:
|
|
virtual bool IsHeadsetPresent(int iController) = 0;
|
|
virtual bool IsLocalPlayerTalking(int iController) = 0;
|
|
|
|
virtual void AddPlayerToVoiceList(XUID xPlayer, int iController) = 0;
|
|
virtual void RemovePlayerFromVoiceList(XUID xPlayer, int iController) = 0;
|
|
|
|
virtual void GetRemoteTalkers(int *pNumTalkers, XUID *pRemoteTalkers) = 0;
|
|
|
|
virtual bool VoiceUpdateData(int iController) = 0;
|
|
virtual void GetVoiceData(int iController, const byte **ppvVoiceDataBuffer,
|
|
unsigned int *pnumVoiceDataBytes) = 0;
|
|
virtual void VoiceResetLocalData(int iController) = 0;
|
|
|
|
virtual void SetPlaybackPriority(XUID remoteTalker, int iController,
|
|
int iAllowPlayback) = 0;
|
|
virtual void PlayIncomingVoiceData(XUID xuid, const byte *pbData,
|
|
unsigned int dwDataSize,
|
|
const bool *bAudiblePlayers = NULL) = 0;
|
|
|
|
virtual void RemoveAllTalkers() = 0;
|
|
};
|
|
|
|
#endif // IENGINEVOICE_H
|