summaryrefslogtreecommitdiff
path: root/Runtime/Interfaces/IAudio.h
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-08-14 22:50:43 +0800
committerchai <chaifix@163.com>2019-08-14 22:50:43 +0800
commit15740faf9fe9fe4be08965098bbf2947e096aeeb (patch)
treea730ec236656cc8cab5b13f088adfaed6bb218fb /Runtime/Interfaces/IAudio.h
+Unity Runtime codeHEADmaster
Diffstat (limited to 'Runtime/Interfaces/IAudio.h')
-rw-r--r--Runtime/Interfaces/IAudio.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/Runtime/Interfaces/IAudio.h b/Runtime/Interfaces/IAudio.h
new file mode 100644
index 0000000..f8d1760
--- /dev/null
+++ b/Runtime/Interfaces/IAudio.h
@@ -0,0 +1,53 @@
+#pragma once
+
+#include "Runtime/BaseClasses/BaseObject.h"
+#include "Runtime/Audio/correct_fmod_includer.h"
+
+class Object;
+class MovieTexture;
+class WWW;
+class AudioClip;
+struct AudioStats;
+namespace FMOD { class DSP; }
+class AudioCustomFilter;
+class MonoBehaviour;
+
+class IAudio
+{
+public:
+ virtual void SetPause( bool pause ) = 0;
+ virtual void FixedUpdate() = 0;
+ virtual void Update() = 0;
+
+ virtual void StopVideoTextures() = 0;
+ virtual void UpdateVideoTextures() = 0;
+ virtual void PauseVideoTextures() = 0;
+
+#if ENABLE_WWW
+#if ENABLE_MOVIES
+ virtual MovieTexture* CreateMovieTextureFromWWW(WWW& www) = 0;
+#endif
+ virtual AudioClip* CreateAudioClipFromWWW(WWW& www, bool threeD, bool stream, FMOD_SOUND_TYPE audioType) = 0;
+ virtual AudioClip* CreateAudioClipOGGFromWWW(WWW& www) = 0;
+#endif
+
+ virtual bool IsFormatSupportedByPlatform(const char* type) = 0;
+
+#if ENABLE_AUDIO_FMOD
+ virtual FMOD::DSP* GetOrCreateDSPFromCustomFilter(AudioCustomFilter* filter) = 0;
+ virtual AudioCustomFilter* CreateAudioCustomFilter(MonoBehaviour* mb) = 0;
+ virtual FMOD::DSP* GetDSPFromAudioCustomFilter(AudioCustomFilter* filter) = 0;
+ virtual void SetBypassOnDSP(FMOD::DSP* dsp, bool state) = 0;
+#endif
+
+#if ENABLE_PROFILER
+ virtual void GetProfilerStats(AudioStats& stats) = 0;
+#endif
+ virtual void AudioManagerAwakeFromLoad(AwakeFromLoadMode mode) = 0;
+};
+
+IAudio* CreateAudioModule();
+
+
+IAudio* EXPORT_COREMODULE GetIAudio();
+void EXPORT_COREMODULE SetIAudio(IAudio* physics); \ No newline at end of file