Skip to content

効果音・BGM を停止する

音声は g.AudioPlayContext#stop() メソッドを用いて停止することができます。

凡例

javascript
const bgm1Asset = scene.asset.getAudio("/audio/bgm1"); // ファイルパスが "/audio/bgm1" の音声アセットとする
const bgm1 = g.game.audio.create(bgm1Asset); // bgm1 の AudioPlayContext を作成する
bgm1.play(); // bgm1 の AudioPlayContext を再生する
bgm1.stop(); // bgm1 の AudioPlayContext を停止する

特定の音声アセットの再生を止める場合は、 g.game.audio.create() で作成した g.AudioPlayContext オブジェクトの g.AudioPlayContext#stop() を実行します。 g.AudioPlayContext#play() についてはこちらを参照してください。

利用例

次のコンテンツでは、「BGM」の矩形をクリックするとが BGM が再生されて、再生中に「BGM」の矩形を再度クリックすると BGM が停止されます。

詳細

特定の音声アセットの再生を止めるためには、その音声アセットを再生している g.AudioPlayContext オブジェクトを取得する必要があります。このオブジェクトは g.game.audio.create() で作成されます。

javascript
const bgm1Asset = scene.asset.getAudio("/audio/bgm1"); // "/audio/bgm1" が音声アセットのパスとする
const bgm1 = g.game.audio.create(bgm1Asset); // bgm1 の AudioPlayContext を作成する
bgm1.play(); // bgm1 の AudioPlayContext を再生する

作成した g.AudioPlayContext オブジェクトの g.AudioPlayContext#stop() を以下のように実行します。

javascript
bgm1.stop(); // アセット ID "bgm1" の音声アセットが停止される

音声アセットの利用に関する詳細は効果音・BGM を再生するの「詳細」セクションを参照してください。

AudioPlayer からの停止

g.AudioPlayer#stop() でも音声アセットを再生することができます。akashic-engine@3.9.0 より前のバージョンでの音声アセットを停止する方法です。

javascript
const player = scene.asset.getAudio("/audio/bgm1").play(); // "/audio/bgm1" の再生と同時にそれを再生しているg.AudioPlayerオブジェクトが返ってくるので取得する
player.stop(); // アセット ID "bgm1" の音声アセットが停止する

関連情報