22#elif defined(__APPLE__)
24#elif defined(__ANDROID__)
25#if __ANDROID_API__ >= HEPHAUDIO_ANDROID_AAUDIO_MIN_API_LEVEL
29#elif defined(__linux__)
44 void SetOnAudioDeviceAddedHandler(Heph::EventHandler handler);
45 void AddOnAudioDeviceAddedHandler(Heph::EventHandler handler);
46 void SetOnAudioDeviceRemovedHandler(Heph::EventHandler handler);
47 void AddOnAudioDeviceRemovedHandler(Heph::EventHandler handler);
48 void SetOnCaptureHandler(Heph::EventHandler handler);
49 void AddOnCaptureHandler(Heph::EventHandler handler);
93 AudioObject*
Play(
const std::filesystem::path& filePath, uint32_t playCount,
bool isPaused);
102 AudioObject*
Load(
const std::filesystem::path& filePath, uint32_t playCount,
bool isPaused);
AudioDeviceType
Definition AudioDevice.h:11
AudioAPI
available native audio APIs.
Definition Audio.h:16
#define HEPH_API
Definition HephShared.h:132
manages the native audio classes.
Definition Audio.h:39
AudioDevice GetDefaultAudioDevice(AudioDeviceType deviceType) const
const AudioFormatInfo & GetCaptureFormat() const
void SetNativeParams(const Native::NativeAudioParams &nativeParams)
bool DestroyAudioObject(AudioObject *pAudioObject)
void SetAudioEncoder(std::shared_ptr< IAudioEncoder > pNewEncoder)
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 * CreateAudioObject(const std::string &name, size_t bufferFrameCount, AudioChannelLayout channelLayout, uint16_t sampleRate)
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 InitializeCapture(AudioChannelLayout channelLayout, uint32_t sampleRate)
void SetAudioDecoder(std::shared_ptr< IAudioDecoder > pNewDecoder)
AudioObject * Play(const std::filesystem::path &filePath, uint32_t playCount, bool isPaused)
AudioObject * Load(const std::filesystem::path &filePath)
size_t GetAudioObjectCount() const
AudioObject * GetAudioObject(const std::string &audioObjectName) const
Native::NativeAudio * GetNativeAudio() const
AudioDevice GetAudioDeviceById(const std::string &deviceId) const
void GetNativeParams(Native::NativeAudioParams &nativeParams) const
double GetMasterVolume() const
const AudioFormatInfo & GetRenderFormat() const
void SetMasterVolume(double volume)
void InitializeCapture(AudioDevice *device, AudioFormatInfo format)
void InitializeRender(AudioFormatInfo format)
AudioDevice GetCaptureDevice() const
AudioDevice GetRenderDevice() const
void InitializeCapture(AudioFormatInfo format)
AudioObject * Load(const std::filesystem::path &filePath, uint32_t playCount, bool isPaused)
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 InitializeRender(AudioChannelLayout channelLayout, uint32_t sampleRate)
void SetDeviceEnumerationPeriod(uint32_t deviceEnumerationPeriod_ms)
base class for the classes that interact with the native audio APIs.
Definition NativeAudio.h:28
stores information about the channel layout.
Definition AudioChannelLayout.h:136
stores information about an audio device.
Definition AudioDevice.h:76
stores information that's necessary to play audio.
Definition AudioObject.h:36
base class for storing the native audio API specific parameters.
Definition NativeAudioParams.h:15
struct for storing globally unique identifiers.
Definition Guid.h:14