音源 (SoundSource)

概要

音ファイルから生成された音の情報を定義します。このクラスは音の情報を格納しているだけであり、実際に音を再生するにはこれをサウンドに渡す必要があります。

このクラスには音のループポイントを設定できます。音をループさせるには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();
      }
  }