This repository has been archived on 2024-06-13. You can view files and clone it, but cannot push or open issues or pull requests.
2020-08-04 13:13:01 -04:00

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