30#if defined(__ANDROID__)
31#if __ANDROID_API__ >= HEPHAUDIO_ANDROID_AAUDIO_MIN_API_LEVEL
37#if defined(__linux__) && !defined(__ANDROID__)
49 std::shared_ptr<Native::NativeAudio> pNativeAudio;
214 static std::shared_ptr<Native::NativeAudio> CreateNativeAudio(
AudioAPI api);
AudioDeviceType
Definition AudioDevice.h:11
AudioAPI
available native audio APIs.
Definition Audio.h:17
#define HEPH_API
Definition HephShared.h:124
manages the native audio classes.
Definition Audio.h:47
AudioDevice GetDefaultAudioDevice(AudioDeviceType deviceType) const
const AudioFormatInfo & GetCaptureFormat() const
void SetNativeParams(const Native::NativeAudioParams &nativeParams)
bool DestroyAudioObject(AudioObject *pAudioObject)
void InitializeRender(AudioDevice *device, const AudioChannelLayout &channelLayout, uint32_t sampleRate)
void SetAudioEncoder(std::shared_ptr< IAudioEncoder > pNewEncoder)
void InitializeCapture(AudioDevice *device, const AudioChannelLayout &channelLayout, uint32_t sampleRate)
bool IsCapturePaused() const
std::shared_ptr< IAudioEncoder > GetAudioEncoder() const
AudioObject * Load(const std::filesystem::path &filePath, uint32_t playCount)
AudioObject * GetAudioObject(const Heph::Guid &audioObjectId)
AudioObject * Play(const std::filesystem::path &filePath)
void InitializeRender(AudioDevice *device, AudioFormatInfo format)
bool AudioObjectExists(const Heph::Guid &audioObjectId) const
bool DestroyAudioObject(const Heph::Guid &audioObjectId)
std::shared_ptr< IAudioDecoder > GetAudioDecoder() const
void SetAudioDecoder(std::shared_ptr< IAudioDecoder > pNewDecoder)
Heph::Event & OnAudioDeviceAdded
Definition Audio.h:53
AudioObject * Load(const std::filesystem::path &filePath)
size_t GetAudioObjectCount() const
AudioObject * GetAudioObject(const std::string &audioObjectName) const
void InitializeRender(const AudioChannelLayout &channelLayout, uint32_t sampleRate)
AudioDevice GetAudioDeviceById(const std::string &deviceId) const
void GetNativeParams(Native::NativeAudioParams &nativeParams) const
double GetMasterVolume() const
const AudioFormatInfo & GetRenderFormat() const
void SetMasterVolume(double volume)
std::shared_ptr< Native::NativeAudio > GetNativeAudio() const
void InitializeCapture(AudioDevice *device, AudioFormatInfo format)
void InitializeRender(AudioFormatInfo format)
AudioDevice GetCaptureDevice() const
AudioObject * CreateAudioObject(const std::string &name, size_t bufferFrameCount, AudioChannelLayout channelLayout, uint32_t sampleRate)
AudioDevice GetRenderDevice() const
void InitializeCapture(AudioFormatInfo format)
Heph::Event & OnAudioDeviceRemoved
Definition Audio.h:56
void InitializeCapture(const AudioChannelLayout &channelLayout, uint32_t sampleRate)
uint32_t GetDeviceEnumerationPeriod() const
bool AudioObjectExists(AudioObject *pAudioObject) const
AudioObject * GetAudioObject(size_t index) const
std::vector< AudioDevice > GetAudioDevices(AudioDeviceType deviceType) const
AudioObject * Play(const std::filesystem::path &filePath, uint32_t playCount)
void SetDeviceEnumerationPeriod(uint32_t deviceEnumerationPeriod_ms)
Heph::Event & OnCapture
Definition Audio.h:59
class for managing callback functions.
Definition Event.h:25
stores information about the channel layout.
Definition AudioChannelLayout.h:337
stores information about an audio device.
Definition AudioDevice.h:60
stores information that's necessary to play audio.
Definition AudioObject.h:33
base class for storing the native audio API specific parameters.
Definition NativeAudioParams.h:15
struct for storing globally unique identifiers.
Definition Guid.h:14