三目並べを打った時の効果音、Small Basicなら、
Sound.PlayClickAndWait()
で済みますが、Javaの場合、プリセットの音は用意されていないので、音探しから始めなくてはなりません。
コードとしては、GameApplet.javaの中の以下の2行で音を鳴らしています。
auClick = getAudioClip(getCodeBase(), “button6.au”);
auClick.play();
ここで、auClick は AudioClip というインタフェースのオブジェクトです。上記の”button6.au”というファイルはSunオーディオ形式のファイルです。Windowsではあまり使われませんが、Javaでは標準です。Windowsのオーディオ形式で簡単なのがwavファイルです。これはWindowsのアクセサリにあるサウンドレコーダーでも作れます。
コマンドプロンプトで、
SoundRecorder /FILE ffff.wav /DURATION hhhh:mm:ss
を実行しwav形式ファイルに録音します。
ffffはwav形式ファイル名。hhhhは時間、mmは分、ssは秒
1秒の例:
SoundRecorder /FILE test.wav /DURATION 0000:00:01
0秒の例(このときはGUIで開始と終了を指定します):
SoundRecorder /FILE test.wav /DURATION 0000:00:00
作成したwavファイルを今度はフリーの音声ファイル変換ソフト「WavToAu」でauファイルに変換します。
ただ、wavファイルを作る際、パソコンのオーディオの環境がよくないとノイズが多くなっていい音ができません。そういう場合はフリーの音源を探してみましょう。今回使っている”button6.au”は、Free Sound Effectsというサイトからダウンロードしたwavファイルをさきほどのフリーソフト WavToAu でauファイルに変換したものです。
Javaには他にもmp3などの形式の音源を鳴らす機能もありますが、当面この連載ではauファイルを使っていこうと思います。mp3の扱いについては書籍『15歳からはじめるJavaオンラインゲームプログラミング教室』に記載があります。
(つづく)