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