音ファイルから生成された音の情報を定義します。このクラスは音の情報を格納しているだけであり、実際に音を再生するにはこれをサウンドに渡す必要があります。
このクラスには音のループポイントを設定できます。音をループさせるにはIsLoopingModeをtrueにします。ループポイントを設定していない場合、音を最後まで再生したら最初に戻ってループします。
LoopStartingPoint及び、LoopEndPointを設定すると、先頭から音を再生しLoopEndPointに到達したらLoopStartPointの位置に戻って再開します。
なし
名称 | 説明 |
---|---|
LoopStartingPoint | ループポイントの開始地点 |
LoopEndPoint | ループポイントの終了地点 |
IsLoopingMode | 音がループするか |
Length | 音の長さ |
なし
SoundクラスとSoundSourceのサンプルです。
#include <ace.h>
// Soundを用いて音を鳴らすサンプルです。
int main()
{
// AC-Engineを初期化する。
ace::Engine::Initialize(ace::ToAString("Sound").c_str(), 640, 480, ace::EngineOption());
// 音ファイルを読み込む。
std::shared_ptr<ace::SoundSource> se1 = ace::Engine::GetSound()->CreateSoundSource(ace::ToAString("Data/Sound/se1.wav").c_str(), true);
std::shared_ptr<ace::SoundSource> bgm1 = ace::Engine::GetSound()->CreateSoundSource(ace::ToAString("Data/Sound/bgm1.ogg").c_str(), false);
// 音を再生する。
int id_se1 = ace::Engine::GetSound()->Play(se1);
int id_bgm1 = ace::Engine::GetSound()->Play(bgm1);
// AC-Engineのウインドウが閉じられていないか確認する。
while (ace::Engine::DoEvents())
{
// AC-Engineを更新する。
ace::Engine::Update();
// 音が再生終了してるか調べる。
if (!ace::Engine::GetSound()->GetIsPlaying(id_bgm1))
{
break;
}
}
// AC-Engineの終了処理をする。
ace::Engine::Terminate();
return 0;
}