Audio => AudioEngine
This commit is contained in:
parent
a5b8fe523d
commit
da220f961a
|
|
@ -3,14 +3,14 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\src\kiwano-audio\kiwano-audio.h" />
|
<ClInclude Include="..\..\src\kiwano-audio\kiwano-audio.h" />
|
||||||
<ClInclude Include="..\..\src\kiwano-audio\src\audio-modules.h" />
|
<ClInclude Include="..\..\src\kiwano-audio\src\audio-modules.h" />
|
||||||
<ClInclude Include="..\..\src\kiwano-audio\src\audio.h" />
|
<ClInclude Include="..\..\src\kiwano-audio\src\AudioEngine.h" />
|
||||||
<ClInclude Include="..\..\src\kiwano-audio\src\SoundPlayer.h" />
|
<ClInclude Include="..\..\src\kiwano-audio\src\SoundPlayer.h" />
|
||||||
<ClInclude Include="..\..\src\kiwano-audio\src\Sound.h" />
|
<ClInclude Include="..\..\src\kiwano-audio\src\Sound.h" />
|
||||||
<ClInclude Include="..\..\src\kiwano-audio\src\Transcoder.h" />
|
<ClInclude Include="..\..\src\kiwano-audio\src\Transcoder.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\src\kiwano-audio\src\audio-modules.cpp" />
|
<ClCompile Include="..\..\src\kiwano-audio\src\audio-modules.cpp" />
|
||||||
<ClCompile Include="..\..\src\kiwano-audio\src\audio.cpp" />
|
<ClCompile Include="..\..\src\kiwano-audio\src\AudioEngine.cpp" />
|
||||||
<ClCompile Include="..\..\src\kiwano-audio\src\SoundPlayer.cpp" />
|
<ClCompile Include="..\..\src\kiwano-audio\src\SoundPlayer.cpp" />
|
||||||
<ClCompile Include="..\..\src\kiwano-audio\src\Sound.cpp" />
|
<ClCompile Include="..\..\src\kiwano-audio\src\Sound.cpp" />
|
||||||
<ClCompile Include="..\..\src\kiwano-audio\src\Transcoder.cpp" />
|
<ClCompile Include="..\..\src\kiwano-audio\src\Transcoder.cpp" />
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,6 @@
|
||||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\src\kiwano-audio\kiwano-audio.h" />
|
<ClInclude Include="..\..\src\kiwano-audio\kiwano-audio.h" />
|
||||||
<ClInclude Include="..\..\src\kiwano-audio\src\audio.h">
|
|
||||||
<Filter>src</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
<ClInclude Include="..\..\src\kiwano-audio\src\audio-modules.h">
|
<ClInclude Include="..\..\src\kiwano-audio\src\audio-modules.h">
|
||||||
<Filter>src</Filter>
|
<Filter>src</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
|
@ -17,11 +14,11 @@
|
||||||
<ClInclude Include="..\..\src\kiwano-audio\src\SoundPlayer.h">
|
<ClInclude Include="..\..\src\kiwano-audio\src\SoundPlayer.h">
|
||||||
<Filter>src</Filter>
|
<Filter>src</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\src\kiwano-audio\src\AudioEngine.h">
|
||||||
|
<Filter>src</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="..\..\src\kiwano-audio\src\audio.cpp">
|
|
||||||
<Filter>src</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="..\..\src\kiwano-audio\src\audio-modules.cpp">
|
<ClCompile Include="..\..\src\kiwano-audio\src\audio-modules.cpp">
|
||||||
<Filter>src</Filter>
|
<Filter>src</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
|
@ -34,6 +31,9 @@
|
||||||
<ClCompile Include="..\..\src\kiwano-audio\src\SoundPlayer.cpp">
|
<ClCompile Include="..\..\src\kiwano-audio\src\SoundPlayer.cpp">
|
||||||
<Filter>src</Filter>
|
<Filter>src</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\src\kiwano-audio\src\AudioEngine.cpp">
|
||||||
|
<Filter>src</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Filter Include="src">
|
<Filter Include="src">
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,6 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "src/audio.h"
|
#include "src/AudioEngine.h"
|
||||||
#include "src/Sound.h"
|
#include "src/Sound.h"
|
||||||
#include "src/SoundPlayer.h"
|
#include "src/SoundPlayer.h"
|
||||||
|
|
|
||||||
|
|
@ -20,25 +20,25 @@
|
||||||
|
|
||||||
#include <kiwano/base/win32/helper.h>
|
#include <kiwano/base/win32/helper.h>
|
||||||
#include "audio-modules.h"
|
#include "audio-modules.h"
|
||||||
#include "audio.h"
|
#include "AudioEngine.h"
|
||||||
|
|
||||||
namespace kiwano
|
namespace kiwano
|
||||||
{
|
{
|
||||||
namespace audio
|
namespace audio
|
||||||
{
|
{
|
||||||
Audio::Audio()
|
AudioEngine::AudioEngine()
|
||||||
: x_audio2_(nullptr)
|
: x_audio2_(nullptr)
|
||||||
, mastering_voice_(nullptr)
|
, mastering_voice_(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
Audio::~Audio()
|
AudioEngine::~AudioEngine()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void Audio::SetupComponent()
|
void AudioEngine::SetupComponent()
|
||||||
{
|
{
|
||||||
KGE_LOG(L"Creating audio resources");
|
// KGE_LOG(L"Creating audio resources");
|
||||||
|
|
||||||
HRESULT hr = modules::MediaFoundation::Get().MFStartup(MF_VERSION, MFSTARTUP_FULL);
|
HRESULT hr = modules::MediaFoundation::Get().MFStartup(MF_VERSION, MFSTARTUP_FULL);
|
||||||
|
|
||||||
|
|
@ -55,9 +55,9 @@ namespace kiwano
|
||||||
ThrowIfFailed(hr);
|
ThrowIfFailed(hr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Audio::DestroyComponent()
|
void AudioEngine::DestroyComponent()
|
||||||
{
|
{
|
||||||
KGE_LOG(L"Destroying audio resources");
|
// KGE_LOG(L"Destroying audio resources");
|
||||||
|
|
||||||
if (mastering_voice_)
|
if (mastering_voice_)
|
||||||
{
|
{
|
||||||
|
|
@ -74,9 +74,9 @@ namespace kiwano
|
||||||
modules::MediaFoundation::Get().MFShutdown();
|
modules::MediaFoundation::Get().MFShutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
HRESULT Audio::CreateVoice(IXAudio2SourceVoice** voice, const Transcoder::Buffer& buffer)
|
HRESULT AudioEngine::CreateVoice(IXAudio2SourceVoice** voice, const Transcoder::Buffer& buffer)
|
||||||
{
|
{
|
||||||
KGE_ASSERT(x_audio2_ && "Audio engine hasn't been initialized!");
|
KGE_ASSERT(x_audio2_ && "AudioEngine hasn't been initialized!");
|
||||||
|
|
||||||
if (voice == nullptr)
|
if (voice == nullptr)
|
||||||
{
|
{
|
||||||
|
|
@ -92,16 +92,16 @@ namespace kiwano
|
||||||
return x_audio2_->CreateSourceVoice(voice, buffer.format, 0, XAUDIO2_DEFAULT_FREQ_RATIO);
|
return x_audio2_->CreateSourceVoice(voice, buffer.format, 0, XAUDIO2_DEFAULT_FREQ_RATIO);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Audio::Open()
|
void AudioEngine::Open()
|
||||||
{
|
{
|
||||||
KGE_ASSERT(x_audio2_ && "Audio engine hasn't been initialized!");
|
KGE_ASSERT(x_audio2_ && "AudioEngine hasn't been initialized!");
|
||||||
|
|
||||||
x_audio2_->StartEngine();
|
x_audio2_->StartEngine();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Audio::Close()
|
void AudioEngine::Close()
|
||||||
{
|
{
|
||||||
KGE_ASSERT(x_audio2_ && "Audio engine hasn't been initialized!");
|
KGE_ASSERT(x_audio2_ && "AudioEngine hasn't been initialized!");
|
||||||
|
|
||||||
x_audio2_->StopEngine();
|
x_audio2_->StopEngine();
|
||||||
}
|
}
|
||||||
|
|
@ -28,11 +28,11 @@ namespace kiwano
|
||||||
{
|
{
|
||||||
namespace audio
|
namespace audio
|
||||||
{
|
{
|
||||||
class KGE_API Audio
|
class KGE_API AudioEngine
|
||||||
: public Singleton<Audio>
|
: public Singleton<AudioEngine>
|
||||||
, public ComponentBase
|
, public ComponentBase
|
||||||
{
|
{
|
||||||
KGE_DECLARE_SINGLETON(Audio);
|
KGE_DECLARE_SINGLETON(AudioEngine);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// 开启设备
|
// 开启设备
|
||||||
|
|
@ -52,9 +52,9 @@ namespace kiwano
|
||||||
void DestroyComponent() override;
|
void DestroyComponent() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Audio();
|
AudioEngine();
|
||||||
|
|
||||||
~Audio();
|
~AudioEngine();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
IXAudio2* x_audio2_;
|
IXAudio2* x_audio2_;
|
||||||
|
|
@ -73,7 +73,7 @@ namespace kiwano
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr = Audio::GetInstance()->CreateVoice(&voice_, transcoder_.GetBuffer());
|
hr = AudioEngine::GetInstance()->CreateVoice(&voice_, transcoder_.GetBuffer());
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
Close();
|
Close();
|
||||||
|
|
@ -101,7 +101,7 @@ namespace kiwano
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
hr = Audio::GetInstance()->CreateVoice(&voice_, transcoder_.GetBuffer());
|
hr = AudioEngine::GetInstance()->CreateVoice(&voice_, transcoder_.GetBuffer());
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
{
|
{
|
||||||
Close();
|
Close();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue