<<前 [TOP] 次>>
>>注意<<
JDK9からJavaアプレットは非推奨となっており、このページ通りにプログラムを作成しても動作しません。
音声出力の手段として、java.appletのAudioClipインターフェイスを利用します。
AudioClipインターフェイスを用いることで、複数のオーディオクリップを再生できます。
再生できるオーディオ形式には、wav,mid,aiff,auがあります。
以下のサンプルプログラムを作成してみましょう。
【PlayAudio.java】
/** *AudioClipを用いた音声再生 */ import java.applet.*; import java.net.*; public class PlayAudio { private URL url; private AudioClip audioClip; public PlayAudio(String fileName) { fileLoad(fileName); } /**指定ファイルでAudioClipを生成*/ public void fileLoad(String fileName) { try { url = new URL("file:" + System.getProperty("user.dir") + "/" + fileName); } catch (MalformedURLException ex) { System.err.println(ex); } //AudioClipの生成 audioClip = Applet.newAudioClip(url); } /**再生*/ public void play() { audioClip.play(); } /**ループ*/ public void loop() { audioClip.loop(); } /**停止*/ public void stop() { audioClip.stop(); } public static void main(String[] args) { PlayAudio test = new PlayAudio("merrygo1.mid"); test.loop(); } }
なお、このプログラムを実行するには「merrygo1.mid」が必要になります。
何でも良いのでmidファイルを用意して名前を「merrygo1.mid」として「programming」フォルダに保存してください。
再生までの手順は以下のようになります。
1.ファイルの指定(URL形式)
2.audioClipの生成(newAudioClip()メソッド)
生成したオーディオクリップでは、「play()」(再生)、「stop()」(停止)、「loop()」(ループ)の各メソッドを利用することが出来ます。
import java.applet.*; import java.net.*; : URL url; try { //URL形式でカレントディレクトリからファイルを取得 url = new URL("file:" + System.getProperty("user.dir") + "/" + fileName); } catch (MalformedURLException ex) { System.err.println(ex); } //AudioClipの生成 AudioClip audioClip = Applet.newAudioClip(url); //AudioClipの一度だけの再生 audioClip.play(); //AudioClipのループ audioClip.loop(); //AudioClipの停止 audioClip.stop();
上記AudioClipを利用するために取得するURLを取得する必要があります。
URLはjava.net.URLクラスを用いて生成します。
URLクラスでは複数の方法でインスタンスを生成できますが、今回は対象がファイルなので「System.getProperty("user.dir")」を利用します。
Propertyメソッドはキー(今回は「user.dir」)の値を取得することが出来ます。
ではサンプルプログラムを実行してみましょう。
実行すると、merrygo1.midが流れます。
終了するまでループし続けますので、終了は「Ctr+C」で行ってください。
<<前 [TOP] 次>>