従来、Javaでサウンドを再生する時は、サウンドファイルを指定してAudioClipを作成し、playメソッドを呼び出していました。ただ、AudioClipで再生できるのはau形式のサウンドのみ、しかもAudioClipの作成はアプレット内でしか行えない、という制限のためあまり使える機能とはいえなかったような気がします。 AudioClipとファイルのURLアプリケーションでAudioクリップを作るにはAppletクラスのstaticメソッドnewAudioClip()を使います。このnewAudioClip()は、staticメソッドですのでアプレットを作らなくてもクラス名を介してアクセスできます。例えば、 AudioClip ac=java.applet.Applet.newAudioClip(url); とすれば、urlからファイルを読み込んでAudioClipを作成できるわけです。ただ、問題はファイル名ではなくURLオブジェクトでAudioClipに読み込むファイルを指定しなければならない、という点ですね。ファイル名を渡してもエラーになってしまうので、アプリケーションのclassクラスにあるgetResource()を利用してurlを取得します。このメソッドにファイル名を指定するとファイルのURLを取得できるので、それを使いましょう。これで、例えばアプリケーションと同じディレクトリにあるtest.midをAudioClipに読み込むなら、 ac=java.applet.Applet.newAudioClip(jmidi.class.getResource("test.mid")); とすれば良い事になります。AudioClipができたら、後はそのAudioClipに対してplay、stop、loopなどの操作が可能です。 プログラムアプリケーションを実行してplayボタンをクリックするとファイル選択ダイアログが出てくるので、アプリケーションと同じディレクトリのWAVやMIDファイルを選んでください。AudioClipが作られ、play()メソッドで再生されます。 |