Anda di halaman 1dari 4

Memainkan Suara MP3 Di Luar Flash

Pada tutorial sebelumnya tentang suara kita belajar tentang menambahkan suara secara langsung
dengan mengimport suara ke dalam aplikasi. Sedangkan cara lainnya adalah dengan memainkan
file suara yang berada di luar aplikasi. Pada tutorial ini juga akan dijelaskan cara membuat
tombol pengatur suara seperti tombol play lagu, pause lagu dan stop lagu. Untuk membuatnya
ikuti langkah berikut :

Menyiapkan
Asset
1. Siapkan file suara bertipe MP3 atau WAV kemudian copy ke folder tempat anda bekerja,
sebagai contoh digunakan file bernama bgm.mp3.
2. Pada file aplikasi Flash, Buatlah 5 buah tombol pengatur suara, berikan nama instance
pada masing-masing tombol tersebut. (Lihat gambar)

3. Tambahkan sebuah layer dan ubah namanya menjadi layer kode. Selanjutnya klik layer
kode, dan tuliskan kode berikut

1. import flash.events.MouseEvent;
2. import flash.media.SoundTransform;
3.
4. var lagu:Sound = new Sound();
5. lagu.load(new URLRequest("bgm.mp3"));
6. var musik:SoundChannel = new SoundChannel();
7. musik = lagu.play(0,1);
8. var pengatur_suara:SoundTransform = new SoundTransform();
9.
10. t_play.addEventListener(MouseEvent.CLICK, atur_tombol_suara);
11. t_pause.addEventListener(MouseEvent.CLICK, atur_tombol_suara);
12. t_stop.addEventListener(MouseEvent.CLICK, atur_tombol_suara);
13. t_vol_min.addEventListener(MouseEvent.CLICK, atur_tombol_suara);
14. t_vol_plus.addEventListener(MouseEvent.CLICK, atur_tombol_suara);
15.
16. var suara_aktif:Boolean = true;
17. var posisi:Number = 0;
18.
19. function atur_tombol_suara(e:MouseEvent):void
20. {
21. var nama_tombol:String = e.currentTarget.name;
22. if (nama_tombol == "t_play")
23. {
24. if (! suara_aktif)
25. {
26. musik = lagu.play(posisi,1);
27. suara_aktif = true;
28. musik.soundTransform = pengatur_suara;
29. }
30. }
31. if (nama_tombol == "t_pause")
32. {
33. posisi = musik.position;
34. musik.stop();
35. suara_aktif = false;
36. }
37. if (nama_tombol == "t_stop")
38. {
39. posisi = 0;
40. musik.stop();
41. suara_aktif = false;
42. }
43. if (nama_tombol == "t_vol_min")
44. {
45. pengatur_suara.volume = pengatur_suara.volume - 0.2;
46. if (pengatur_suara.volume <= 0)
47. {
48. pengatur_suara.volume = 0;
49. }
50. musik.soundTransform = pengatur_suara;
51. }
52. if (nama_tombol == "t_vol_plus")
53. {
54. pengatur_suara.volume = pengatur_suara.volume + 0.2;
55. if (pengatur_suara.volume >= 1)
56. {
57. pengatur_suara.volume = 1;
58. }
59. musik.soundTransform = pengatur_suara;
60. }
61. }

Jalankan aplikasi dengan menekan tombol Ctrl+Enter, maka hasil dari tutorial ini adalah
sebagai berikut:
Penjelasan
Kode

Penjelasan kode diatas adalah sebagai berikut :

5. lagu.load(new URLRequest("bgm.mp3"));
2. Untuk membuka file suara yang berada di luar aplikasi digunakan perintah URLRequest
diikuti dengan nama file. Dengan cara ini Aplikasi flash akan menstreaming lagu, byte
demi byte. Apabila file aplikasi dijalankan secara offline maka suara akan terdengar
seketika, karena proses loading yang sangat cepat. Sedangkan apabila file aplikasi
dijalankan secara online, maka dibutuhkan beberapa detik untuk membuka file suara.

6. var musik:SoundChannel = new SoundChannel();


7. musik = lagu.play(0,1);
8. var pengatur_suara:SoundTransform = new SoundTransform();
3. Setelah lagu dibuka, dibutuhkan sebuah "container" agar lagu tersebut dapat dimainkan.
"Container" ini diistilahkan sebagai SoundChannel, selanjutnya juga dibutuhkan sebuah
variabel pengatur_suara yang merupakan objek class SoundTransform yang mana
berfungsi untuk mengatur properti sound seperti volume, paning dan sebagainya.

Untuk mempermudah pemahaman kita, bayangkan bahwa variabel lagu adalah sebuah
kaset tape, variabel musik adalah sebuah Tape Recorder dan variabel pengatur_suara
adalah tombol-tombol pengatur suara yang ada di tape recorder.

16. var suara_aktif:Boolean = true;


17. var posisi:Number = 0;
4. Untuk mengetahui apakah suara/lagu sedang dimainkan atau tidak dibuat sebuah variabel
suara_aktif. Dengan variabel tersebut penumpukan suara akan dapat dihindari. Variabel
posisi digunakan untuk menyimpan posisi lagu yang sedang dimainkan (detik terakhir
yang sedang dimainkan). Variabel ini berfungsi untuk tombol pause, dimana kita harus
menyimpan posisi detik tempat kita menekan tombol pause, sehingga ketika di play lagi,
musik tidak mengulang dari awal tetapi dimainkan dari detik terakhir yang disimpan oleh
variabel ini.

Anda mungkin juga menyukai