25 lines
575 B
C
25 lines
575 B
C
|
#pragma once
|
||
|
|
||
|
#include "stdafx.h"
|
||
|
|
||
|
struct AudioStatistics
|
||
|
{
|
||
|
double AverageLatency = 0;
|
||
|
uint32_t BufferUnderrunEventCount = 0;
|
||
|
uint32_t BufferSize = 0;
|
||
|
};
|
||
|
|
||
|
class IAudioDevice
|
||
|
{
|
||
|
public:
|
||
|
virtual ~IAudioDevice() {}
|
||
|
virtual void PlayBuffer(int16_t *soundBuffer, uint32_t bufferSize, uint32_t sampleRate, bool isStereo) = 0;
|
||
|
virtual void Stop() = 0;
|
||
|
virtual void Pause() = 0;
|
||
|
virtual void ProcessEndOfFrame() = 0;
|
||
|
|
||
|
virtual string GetAvailableDevices() = 0;
|
||
|
virtual void SetAudioDevice(string deviceName) = 0;
|
||
|
|
||
|
virtual AudioStatistics GetStatistics() = 0;
|
||
|
};
|