11#ifndef INCGUARD_MGL_AUDIO_RENDERER_XAUDIO2_H_1617349652
12#define INCGUARD_MGL_AUDIO_RENDERER_XAUDIO2_H_1617349652
15#if defined(MGL_AUDIO_RENDERER_ENABLE_XAUDIO2)
27 , IXAudio2VoiceCallback
36 void STDMETHODCALLTYPE OnVoiceProcessingPassStart(UINT32 samplesRequired)
override;
39 void STDMETHODCALLTYPE OnVoiceProcessingPassEnd(
void)
override {}
40 void STDMETHODCALLTYPE OnStreamEnd(
void)
override {}
41 void STDMETHODCALLTYPE OnBufferStart(
void * )
override {}
42 void STDMETHODCALLTYPE OnBufferEnd(
void * )
override {}
43 void STDMETHODCALLTYPE OnLoopEnd(
void * )
override {}
44 void STDMETHODCALLTYPE OnVoiceError(
void * , HRESULT )
override {}
47 CComPtr<IXAudio2> _xaudio2;
48 IXAudio2MasteringVoice *_masteringVoice;
49 IXAudio2SourceVoice *_sourceVoice;
51 static constexpr int kRingBufferCount = 2;
53 int _currentRingBuffer;
オーディオレンダラクラス
Definition mgl_audio_renderer.h:24
XAudio2オーディオレンダラ
Definition mgl_audio_renderer_xaudio2.h:28
~XAudio2Renderer() noexcept
デストラクタ
Definition mgl_audio_renderer_xaudio2.cc:48
XAudio2Renderer() noexcept
コンストラクタ
Definition mgl_audio_renderer_xaudio2.cc:32
bool Initialize(InitializeMode initMode, RenderingFunction rendering) noexcept override
初期化処理
Definition mgl_audio_renderer_xaudio2.cc:81
InitializeMode
初期化モード
Definition mgl_audio_defs.h:42
void(*)(void **outData, size_t outDataCount, const DataFormat &dataFormat, size_t frameCount) noexcept RenderingFunction
レンダリング関数の型
Definition mgl_audio_renderer.h:20
std::unique_ptr< T, Deleter > unique_ptr
MGLのアロケータを利用するユニークポインタ
Definition mgl_stl_memory.h:247