Tujuan
● Setelah mempelajari modul ini peserta diharapkan dapat:
● Memanggil dan Memainkan File Suara.
● Memanggil dan Memainkan File MIDI Sequence.
● Mengetahui perbedaan antara file berekstensi midi dan (Aiff, Au, Wav)
● Mengetahui cara menggunakan class File dan URL untuk meload file suara
2. Latar Belakang
Pada sebuah permainan efek suara sangat dibutuhkan untuk membuat game yang kita
bangun lebih semakin hidup dan terasa nyata, hal ini juga yang membuat para pemain lebih
tertarik dengan game kita bangun, coba anda bayangkan apabila di dalam suatu permainan
tidak ada suara sama sekali, apa yang anda rasakan?. Efek suara sangat diperlukan oleh
game anda misalnya ketika objek anda mengalami tabrakan, ledakan bom, suara tembakan,
dll.
3. Percobaan
Percobaan 1: Membuat Class FileSuara
import java.awt.Graphics;
import java.io.*;
import javax.sound.sampled.*;
import javax.swing.*;
AudioInputStream suara;
String eror1="Tidak Ada Eror";
String eror2="Tidak Ada Eror";
String eror3="Tidak Ada Eror";
FileSuara(){
try {
suara = AudioSystem.getAudioInputStream(new File("BOOM.wav"));
Clip klip =AudioSystem.getClip();
klip.open(suara);
klip.loop(0);
} catch (UnsupportedAudioFileException e) {
AudioInputStream suara;
String eror1="Tidak Ada Eror";
String eror2="Tidak Ada Eror";
String eror3="Tidak Ada Eror";
URLSuara(){
URL url=this.getClass().getResource("BOOM.wav");
try {
suara = AudioSystem.getAudioInputStream(url);
Clip klip =AudioSystem.getClip();
klip.open(suara);
klip.loop(0);
} catch (UnsupportedAudioFileException e) {
import java.awt.Graphics;
import java.io.IOException;
import java.net.URL;
import javax.sound.sampled.*;
import javax.swing.JFrame;
AudioInputStream suara;
String eror1="Tidak Ada Eror";
String eror2="Tidak Ada Eror";
String eror3="Tidak Ada Eror";
import java.awt.Graphics;
import java.io.IOException;
import java.net.URL;
import javax.sound.midi.*;
import javax.swing.JFrame;
Sequence suara;
Sequencer ambilSuara;
URLMidi(){
try {
suara = MidiSystem.getSequence(getURL("CONTOH.mid"));
ambilSuara=MidiSystem.getSequencer();
ambilSuara.setSequence(suara);
ambilSuara.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);
ambilSuara.open();
ambilSuara.start();
} catch (InvalidMidiDataException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MidiUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
import java.io.*;
import java.net.*;
import javax.sound.sampled.*;
public OperasiSuara(){
try{
klip = AudioSystem.getClip();
}catch(LineUnavailableException e){System.out.println("Terjadi kesalahan pada
klip suara : "+e.toString());}
}
klip.setFramePosition(0);
if(looping)
klip.loop(Clip.LOOP_CONTINUOUSLY);
else
klip.loop(repeat);
}
import java.io.*;
import java.net.*;
import javax.sound.midi.*;
public OperasiMidi(){
try{
ambilSuara = MidiSystem.getSequencer();
}catch(MidiUnavailableException e){ }
}
Kunci Jawaban :
Percobaan 1