サイトのトップへ戻る

libGDX ドキュメント 日本語訳

サイト内検索

効果音

効果音とは、キャラクターがジャンプしたり銃を撃ったりするような特定のゲームイベントで再生される、通常は数秒にも満たない軽量の音声のことです。

効果音は様々な形式で保存することができます。Libgdx では MP3ファイル、OGGファイル、WAVファイルをサポートしています。 RoboVM (iOS) では、現時点では OGG ファイルをサポートしていません。

注意: Androidでは、 Sound インスタンスは1MB以上のサイズは扱えません。1MB以上のファイルについては、Musicを使用してください

効果音は、Sound インスタンスによって表されます。 効果音の読み込みは以下のようにして行います:

Sound sound = Gdx.audio.newSound(Gdx.files.internal("data/mysound.mp3"));

ここでは、内部のdataディレクトリから "mysound.mp3" という名前の音声ファイルを読み込んでいます。

音声の読み込みが完了したらそれを再生できます:

sound.play(1.0f);

上記では音声をフルボリュームで1回再生します。Sound インスタンスのplay()メソッドは、例えばゲーム中での銃声のように連続して何回も実行することができ、重ね再生もできます。

さらにきめ細かな制御も可能です。 Sound.play() を実行するとsoundインスタンスを識別するためのlong値が毎回戻り値として返されます。 この識別子を使って、特定の再生インスタンスの情報を編集できます:

long id = sound.play(1.0f); // play new sound and keep handle for further manipulation
sound.stop(id);             // stops the sound instance immediately
sound.setPitch(id, 2);      // increases the pitch to 2x the original pitch

id = sound.play(1.0f);      // plays the sound a second time, this is treated as a different instance
sound.setPan(id, -1, 1);    // sets the pan of the sound to the left side at full volume
sound.setLooping(id, true); // keeps the sound looping
sound.stop(id);             // stops the looping sound 

これらの編集用メソッドは、今のところJavaScript/WebGL バックエンド では動作しないので注意してください。

音声が必要なくなったら、必ず破棄するようにしてください:

sound.dispose();

破棄した音声にアクセスすると、未定義のエラーが発生します。