音を鳴らす 
このページのサンプルコードをダウンロード
効果音と BGM 
Akashic Engine のゲームで音を鳴らす場合は、一つの効果音や音楽につき Ogg Vorbis 形式 (.ogg) と AAC 形式 (.aac) の二種類のファイルを用意する必要があります。これは、Web ページで音を再生する際に、利用可能な形式がブラウザごとに異なっているためです。
ファイルが用意できたら se1.ogg と se1.aac を audio ディレクトリに配置して、 akashic scan コマンドでアセットとして追加します。
akashic scan asset音声アセットはアセットの play() メソッドを呼び出して再生します。例えば ID が "se1" の場合は、以下のコードで再生できます。
scene.assets["se1"].play();もし、TypeScript テンプレートを利用して開発する場合、 scene.assets は g.Asset というアセット全体を示す型の配列になっています。よって、そのままでは g.AudioAsset だけが持つ play() メソッドを使えません。以下のように as 演算子を使って g.AudioAsset であることを示す必要があります。
(scene.assets["se1"] as g.AudioAsset).play();シーンで効果音を利用するには、他のアセットと同じようにシーンオブジェクトのパラメータオブジェクトにアセットの ID を列挙します。以下は画面のタップまたはクリックで効果音を再生する例です。
function main() {
  var scene = new g.Scene({ game: g.game, assetIds: ["se1"] });
  scene.loaded.add(function () {
    scene.pointDownCapture.add(function () {
      scene.assets["se1"].play();
    });
  });
  g.game.pushScene(scene);
}
module.exports = main;Akashic Engine では音声を自動的にループ再生させることで BGM を実現します。 BGM をループ再生させるには、game.json を編集して該当アセットの systemId プロパティの値を music に変更します。
例えば BGM として利用したいアセットの ID が bgm の場合、 akashic scan 直後は game.json の対応箇所は次のようになっています。
"bgm": {
  "type": "audio",
  "path": "audio/bgm",
  "systemId": "sound",
  "duration": 8000
}この部分を編集して以下のように "systemId": "music" を指定します。
"bgm": {
  "type": "audio",
  "path": "audio/bgm",
  "systemId": "music",
  "duration": 8000
}BGM も play() メソッドで再生を開始します。 BGM は自動的にループ再生されるので、play() メソッドはシーンロード時に一度だけ呼び出します。
以下のプログラムは上で出てきた効果音再生プログラムに BGM を追加したものです。
function main() {
  var scene = new g.Scene({ game: g.game, assetIds: ["bgm", "se1"] });
  scene.loaded.add(function () {
    scene.assets["bgm"].play();
    scene.pointDownCapture.add(function () {
      scene.assets["se1"].play();
    });
  });
  g.game.pushScene(scene);
}
module.exports = main;
