音声の再生|Javaから楽しく学ぶ!ゲームプログラミング専門学校

Javaから楽しく学ぶ!ゲームプログラミング専門学校

ゲームプログラミングとはその名のとおりゲームのプログラムを作ることを指します。『Javaから楽しく学ぶ!ゲームプログラミング専門学校』ではゲームプログラミングについて、実際にゲームプログラムをJAVAプログラミング言語を使用し、作成していきながら詳しく解説していきます。

音声の再生

Javaアプレット上で音を鳴らす方法を見ていきます。

プログラムをJavaアプレットとするにはメインとなるクラスにAppletクラスを継承する必要があります。
Javaアプレットの動作方法

そのAppletクラスには音を再生するしくみを提供するgetAudioClip()メソッドが実装されています。
getAudioClip()メソッドは引数で指定したURLに保存されている音声ファイルを読み込み、その音声ファイルに対するAudioClipオブジェクトを返してくれます。

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class AudioSample extends Applet implements MouseListener{
private AudioClip smpSound;

public void init(){
smpSound = getAudioClip(getDocumentBase(), "SampleAudio.au");
}
public void start(){
addMouseListener(this);
}
public void mouseClicked(MouseEvent e){
}
public void mouseEntered(MouseEvent e){
}
public void mouseExited(MouseEvent e){
}
public void mousePressed(MouseEvent e){
smpSound.play();
}
public void mouseReleased(MouseEvent e){
}
public void paint(Graphics g){
g.drawString("画面をクリックすれば音声が再生されます。", 5, 50);
}
}

上記サンプルは、Javaアプレット画面をクリックする度に、読み込んだ音声が再生されるといった動作内容となっています。

getAudio()メソッドは下記のように定義されています。
AudioClip getAudioClip(URL url)
引数 url で指定された AudioClip オブジェクトを返します。
AudioClip getAudioClip(URL url, String name)
引数 url と name で指定された AudioClip オブジェクトを返します。


まず、init()メソッド内で音声ファイルが保存されているURLをgetAudio()メソッドの引数として渡してやります。
    public void init(){
smpSound = getAudioClip(getDocumentBase(), "SampleAudio.au");
}
第1引数では、classファイルが保存してあるURLをgetDocumentBase()メソッドによって取得しています。
第2引数では、音声ファイルのファイル名を指定しています。

音声の再生はgetAudioClip()メソッドから受け取ったAudioClipオブジェクトが持つplay()メソッドによって実現できます。
    public void mousePressed(MouseEvent e){
smpSound.play();
}

トラックバック:0Edit
Copyright © Javaから楽しく学ぶ!ゲームプログラミング専門学校 All Rights Reserved.
当サイトのテキストや画像等すべての転載転用・商用販売を固く禁じます