7#include <mmdeviceapi.h>
8#include <functiondiscoverykeys_devpkey.h>
9#include <Audioclient.h>
15 class EHS_LIB_IO AudioDevice final :
public BaseAudioDevice
20 IAudioRenderClient* playbackClient;
21 IAudioCaptureClient* captureClient;
40 UInt_64
SendStream(
const void *data, UInt_64 outFrameSize)
override;
44 Str_32 GetInterfaceName_32()
const;
46 Str_16 GetInterfaceName_16()
const;
48 Str_8 GetInterfaceName_8()
const;
Definition: AudioDevice_PW.h:15
static Array< AudioDevice > Get(AudioDeviceType type, AudioDeviceState state)
AudioDevice & operator=(const AudioDevice &device)
void CloseStream() override
void OpenStream() override
AudioDevice(AudioDevice &&device) noexcept
bool IsValid() const override
AudioDevice & operator=(AudioDevice &&device) noexcept
UInt_64 ReceiveStream(void *data, UInt_64 inFrameSize) override
static AudioDevice GetDefault(AudioDeviceType type)
bool IsStreaming() const override
UInt_64 SendStream(const void *data, UInt_64 outFrameSize) override
AudioDevice(const AudioDevice &device)
EHS_LIB_IO const Char_16 * GetName_16()
Definition: EHS.cpp:97
EHS_LIB_IO const Char_32 * GetName_32()
Definition: EHS.cpp:92
AudioDeviceState
Definition: BaseAudioDevice.h:19
AudioDeviceType
Definition: BaseAudioDevice.h:12
EHS_LIB_IO const Char_8 * GetName_8()
Definition: EHS.cpp:102