Flash no.8 : Membuat slider atau scrubber untuk file mp3

Bila anda memutar music, atau video, pasti pada software player nya anda akan melihat sebuah slider yang dapat anda drag. Dengan mendrag slider ini maka anda dapat memutar file anda sesuai urutan waktu yang anda suka. Slider ini pun juga bergerak dari awal hingga akhir saat memutar audio maupun video.
Lihat pada gambar:
sample slider

Mari kita simak cara membuatnya,
Sebetulnya bila anda telah membaca tutorial saya sebelumnya, Flash no.7 Menambah volume control untuk mp3 , maka anda tidak akan mengalami kesulitan dalam membuat slider awal.
Sebagai pemberitahuan, berikut adalah screenshot flash jadi kita nantinya:

sample slider

Mungkin anda merasa slider diatas sederhana sekali, iya betul memang sangat sederhana, bila anda test movie maka knop kita akan bergerak seiring dengan lagu yang dimainkan, dan anda juga dapat menggeser knop untuk merubah rubah posisi lagu yang dimainkan.
Saya juga melampirkan sample kode beserta lagu pendek pada tutorial ini, anda dapat mencobanya .
-Langkah 1 : Buka Adobe Flash yang anda gunakan, disini saya menggunakan Adobe Flash CS5 , bila anda menggunakan versi yang lebih terdahulu sebetulnya cara caranya adalah sama saja.

cs5

-Langkah 2 : Mari kita lihat dulu struktur flash yang akan kita buat.

struktur 1

“pada struktur gambar 1 kita melihat bahwa file audio kita berada dalam 1 folder dengan file fla”

struktur 2

“pada struktur gambar 2 diatas adalah gambar dari fla kita, di sana ada 2 layer yang saya beri nama ‘actions’ yang nantinya kita isi layer tersebut dengan action script, kemudian saya punya 1 lagi dengan nama ‘slider control’ ya saya isi dengan slider movie clip dengan name instance ‘song_slider’. “

struktur 3

“struktur gambar 3 diatas menunjukkan layer layer yang ada dalam movie clip slider kita tadi, movie clip slider kita yang kita beri nama ‘song_slider’ tadi bila kita buka (double click ), maka akan terlihat memiliki layer layer didalamnya, anda dapat menyimak seperti gambar diatas”.
-Langkah 3 : mari kita buat seperti seperti gambar dibawah ini:

timeline

–    Seperti gambar diatas, pertama kita buat new-> actions script 3 file,
–    Kemudian lihat timeline, rename layer pertama ( dengan doubleclick ) , ganti dengan nama ‘slider control’
–    Buat layer baru ( dengang mengclick tombol kecil kiri bawah) , kemudian rename menjadi ‘actions’ , disinilah kita akan menyisipkan action script kita nantinya.
-Langkah 4 : buat movie clip slider. Untuk lebih jelasnya lihat gambar berikut ini:

rectangle

Pastikan anda berada di layer ‘slider control’, kemudian buatlah sebuah rectangle tool dengan no stroke ( tanpa garis tepi ) , kemudian gunakan warna sesuka anda.
Di sini saya menggambar rectangle dengan w: 500 dan H: 20. W itu menunjukkan width / lebar, sedangkan H menunjukkan height / tinggi.
Rectangle inilah yang nantinya akan kita jadikan slider.
-Langkah 5 : Convert rectangle yang barusan kita buat ke Movie Clip, berikan instance name, kemudian isi movie clip kita dengan bagian bagian slider.
Lihat pada gambar:

convert to symbol

Penjelasan gambar di atas: click kanan rectangle kita -> convert to symbol, disini kita akan mengconvert rectangle kita ke symbol dan pilih movie clip. Pastikan registration point kita berada di top left seperti terlihat pada gambar.

song slider

Penjelasan gambar di atas :
setelah diconvert ke symbol , lihat properties window pada flash anda, kemudian berikan instance name untuk symbol yang  baru saja kita convert tadi , di sini saya memberikan instance name ‘song_slider’.
slider area

Penjelasan gambar diatas: setelah kita convert dan kita beri instance name, maka double clicklah symbol kita , dengan mendouble click maka kita akan masuk ke dalam symbol yang baru saja kita buat tadi ( song_slider ). Setelah masuk ke symbol ‘song_slider’ maka kita akan melihat timeline baru , timeline baru inilah timeline untuk symbol ‘song_slider’ kita. Oke, sekarang rename layer pertama dari ‘song_slider’ dan berikan sebuah nama supaya lebih rapi, disini saya member nama slider area.
*nah, di layer slider area ini lakukan klik kanan pada rectangle lagi -> convert to symbol -> pilih movie clip dan pastikan registration point di top left -> kemudian berikan sebuah instance name ‘slider_area’
Oke sekarang di layer pertama kita sudah memiliki symbol baru dengan instance nama ‘slider_area’.
Untuk mengconvert maupun memberikan instance name anda dapat melihat kembali gambar gambar  di atas.
-Langkah 6 : buat layer baru sebagai background kita nantinya.
Lihat pada gambar:
song slider

Penjelasan gambar di atas :
Buatlah layer baru -> rename layer menjadi ‘bg’ -> kemudian buatlah sebuah rectangle lagi dengan stroke color hitam dan bg color hijau, lihat pada gambar. Kemudian setting width 502 dan Height 10. Kenapa saya memilih 502? Karena 2 pixel adalah untuk border dari bg ini. Kemudian aturlah posisi dari bg kita sehingga menjadi seperti gambar berikut ini:
atur lah

Kemudian setelah itu klikah layer ‘slider area’ kemudian pada symbol ‘slider_area’ ubahlah opacitynya menjadi 0, supaya tidak terlihat.
Lihat pada gambar:
alpha

Penjelasan gambar diatas:
Pastikan anda berada di slider area layer, kemudian click lah symbol kita yang berinstance name ‘slider_area’ tadi, bila anda susah mengclicknya , karena mungkin layer anda berpindah ke ‘bg’ , maka silahkan anda click icon gembok pada layer ‘bg’ untuk menguncinya supaya tidak dapat diclick, nah sekarang click lah ‘slider_area’.
Sesaat setelah anda mengclick ‘slider_area’ maka window properties akan aktif. Nah , setelah aktif anda dapat menjadikannya tidak terlihat dengan memilih color effect -> style -> alpha -> ubah ke 0%.
Oke kemudian gembok saja semua layer biar layer layer yang sudah kita terkunci rapat rapat pada posisinya masih masing atau biasa disebut dengan uneditable.
-Langkah 7 : buatlah sebuah pink bar.
Lihat pada gambar dibawah ini:

make pink bar

Penjelasan dari gambar diatas:
Oke, supaya lebih terlihat jelas , maka saya meng-zoom ke 800%, nah kemudian saya membuat layer baru dan saya rename manjadi ‘pink bar’ supaya lebih tertata. Di layer ‘pink bar’ ini saya menggambar sebuah kotak ( rectangle ) dengan warna stroke -> no color, dan warna bg -> pink. Kemudian saya sesuaikan supaya terlihat seperti gambar diatas.
Disini saya mensetting  W: 10 dan H : 9. Kemudian klik kanan rectangle di layer ‘pink bar’ -> convert to symbol -> pilih movie clip -> pastikan registration point di top left -> kemudian berikan instance name ‘pink_bar’.
Nah , sekarang kita memiliki satu lagi movie clip dengan instance name ‘pink_bar’. Untuk mengconvert to symbol atau memberikan instance name , anda dapat menyimak gambar gambar sebelumnya.
-Langkah 8 : buatlah sebuah knop.
Lihat pada gambar:

buat knop

Penjelasan gambar di atas:
Buat layer baru -> rename layer baru tersebut dengan nama ‘knop’ -> kemudian buat sebuah rectangle dan berikan linear gradient seperti pada gambar diatas.
Kemudian atur ‘sedemikian rupa sehingga’ menjadi seperti gambar dibawah ini:
knop diatur

Penjelasan gambar di atas:
Kemudian kita atur letaknya seperti pada gambar di atas, kita setting W: 10 dan H : 20 , kemudian mari kita convert knop menjadi symbol. Click kanan -> convert to symbol -> pilih movie clip -> jangan lupa registration point di top left -> kemudian berikan instance name ‘knop’.
Oke, sekarang kita sudah punya satu lagi symbol dengan instance name ‘knop’.
-Langkah 9 : Buatlah sebuah invisible knop.
Invisible knop ini digunakan saat kita mau mendrag, “ah, susah dijelaskan dengan kata kata, untuk lebih jelasnya silahkan gunakan source code yang sudah saya include link nya pada header dari tutorial ini.
Jadi di sini , saat kita memain kan music, kemudian kita ingin mendrag slider, maka akan muncul invisible knop / transparent knop. Nah knop inilah yang nantinya berperan saat kita mendrag.
Lihat pada gambar:
drag knop

Penjelasan gambar di atas :
Buat sebuah layer baru diatas layer knop, dan berikan sebuah nama ( dengan mendouble clicknya ) misalnya ‘invisible knop’.
Pada tahap sebelumnya kita sudah membuat sebuah symbol knop. Nah , symbol yang kita buat ini otomatis tersimpan di library kita, symbol ini dapat kita gunakan berulang ulang kali tanpa harus membuatnya lagi, nah begitu juga dalam tahap ini. Kita akan membuat sebuah invisible knop dengan menggunakan knop yang sudah ada pada library.
Buka library anda -> pilih knop yang telah kita buat sebelumnya -> drag ke stage, tepatnya drag ke layer invisible knop.
Kemudian setelah anda drag, berilah sebuah instance name misalnya ‘invisible_knop’ di window properties. Dengan instance name inilah kita nantinya akan memanggil object yang bersangkutan melalui action script.
Lihat gambar berikutnya:
knop alpha

Penjelasan gambar di atas:
Kita kasih instance name untuk knop kita yang baru saja kita drag dengan name ‘invisible_knop’ kemudian kita setting supaya lebih transparan dengan color effect -> alpha, di sini saya memilih 22%.
Kemudian letakkan ‘invisible_knop’ tepat pada ‘knop’, untuk keakuratan supaya tepat pada ‘knop’ anda dapat menggunakan tombol panah kanan, atas, kiri, bawah pada keyboard anda. Pastikan semua layer terlock kecuali layer ‘invisible knop’.
Hingga hasil akhirnya seperti pada gambar berikut ini:
knop jadi

-Langkah 10 : Kembali ke scene dan sisipkan action script .
Oke, tadi kita berada di ‘song_slider’ , nah sekarang mari kita kembali ke scene. Mungkin anda bertanya, bagaimana caranya kembali ke scene?
Silahkan lihat pada gambar:

kembali ke scene

Nah, sekarang kita kembali ke scene.  Sekarang, mari kita tambahkan blank keyframe
–    Pada layer action, click frame ke 2 -> klik kanan –> insert blank keyframe
–    Pada layer slider control , click frame ke 2 -> klik kanan -> insert frame
Lihat gambar:
insert blank keyframe

*PADA LAYER ACTION , frame 1 masukkan action script seperti berikut:
//frame 1
var song:URLRequest = new URLRequest(“SWIBA-SWIBA GAYENG.mp3”);
//end of frame 1

*PADA LAYER ACTION, frame 2 masukan action script seperti berikut :
//frame 2
stop();
import flash.geom.Rectangle;
import flash.events.MouseEvent;
import flash.events.Event;

//play lagu kita di kode ini
var okie_sound:Sound = new Sound(song);
var position:int; //*BILA diganti number maka suaranya enggak karuan
var okie_channel:SoundChannel;
okie_channel = okie_sound.play(position);

addEventListener(Event.ENTER_FRAME, EnterFrame);
function EnterFrame(event:Event):void{
var totaldurasi:Number = okie_sound.length;
var durasi_isplaying:Number = okie_channel.position;
var persentasi:Number = 100 * (durasi_isplaying/totaldurasi); // *type dijadikan number saja , jangan int
song_slider.pink_bar.width = persentasi*5;
song_slider.knop.x = persentasi*5;
}

//— slider kita ada di bawah ini —- //

var isDragging:Boolean = false;
var knopWidth:Number = song_slider.knop.width;
var slider_areaWidth:Number = song_slider.slider_area.width;
var slider_areaX:Number = song_slider.slider_area.x;
//nah ini merupakan slider area yang tersisa setelah dikurangi lebar knop
var real_slider_areaWidth = slider_areaWidth – knopWidth; // saya tambah sepuluh biar lebih pendek
//mari kita buat area untuk slider_area yang tersisa
var slider_areaRect:Rectangle = new Rectangle(slider_areaX,0,real_slider_areaWidth,0);

song_slider.addEventListener(MouseEvent.MOUSE_DOWN, drag);
// *sebetulnya song_slider.invisible_knop.addEventListener(MouseEvent.MOUSE_DOWN, drag);
// *tapi karena pengen song_slider saat diklik langsung knop jalan ya diganti deh
// *
song_slider.invisible_knop.addEventListener(Event.ENTER_FRAME, invisible_knop_enter_frame);
song_slider.pink_bar.addEventListener(Event.ENTER_FRAME, grow);
stage.addEventListener(MouseEvent.MOUSE_UP, stopHere);

function drag(event:MouseEvent):void{
isDragging = true;
song_slider.invisible_knop.startDrag(true, slider_areaRect);
// * ini tak ganti true, bila false maka saat song_slider diclick kagak jalan
}
function invisible_knop_enter_frame(event:Event):void{
if(isDragging == false){
song_slider.invisible_knop.x = song_slider.knop.x;
}
}
function stopHere(event:MouseEvent):void{
song_slider.invisible_knop.stopDrag();
var stop_position:Number = song_slider.invisible_knop.x * okie_sound.length / real_slider_areaWidth;
position = stop_position;
okie_channel.stop();
song_slider.knop.x = song_slider.invisible_knop.x;
isDragging = false;
gotoAndPlay(1);

}
function grow(event:Event):void{
song_slider.pink_bar.width = song_slider.knop.x;
}
//end of frame 2

PENJELASAN SCRIPT :
Pada frame 1 kita menuliskan action script berikut,
var song:URLRequest = new URLRequest(“SWIBA-SWIBA GAYENG.mp3”);
di sini kita membuat sebuah variable baru dengan type ‘URLRequest’ , kemudian kita set lagu yang akan direquest adalah ‘SWIBA-SWIBA GAYENG.mp3’ yang berada satu folder dengan player kita. Lagu ini juga saya include di source code ( lihat halaman awal dari tutorial ini untuk melihat link source codenya ).
Kemudian pada frame 2 kita menuliskan action script berikut,
stop();
import flash.geom.Rectangle;
import flash.events.MouseEvent;
import flash.events.Event;

//play lagu kita di kode ini
var okie_sound:Sound = new Sound(song);
var position:int; //*BILA diganti number maka suaranya enggak karuan
var okie_channel:SoundChannel;
okie_channel = okie_sound.play(position);

Nah, pertama tama kita menuliskan stop() dengan tujuan agar flash player memainkan file kita berhenti pada frame 2 ini. Jadi bila kita tidak menuliskan stop() maka flash player yang terinstal pada computer kita akan kembali ke frame 1, kemudian frame 2, kemudian ke frame 1 lagi , diteruskan ke frame 2, dan seterusnya berulang ulang kali.
Kemudian kode berikutnya adalah import, nah disana terlihat banyak sekali import yang kita tuliskan, sebetulnya anda tidak perlu menuliskan import import tersebut, karena akan muncul dengan sendirinya saat anda sedang mengetikkan kode misalnya seperti fungsi  function fungsiku(event:MouseEvent):void{} maka otomatis akan menuliskan kan import flash.events.MouseEvent; pada line pertama.
Kode berikutnya adalah kode untuk memutar lagu kita.
Oke, kode berikutnya adalah berikut,
addEventListener(Event.ENTER_FRAME, EnterFrame);
function EnterFrame(event:Event):void{
var totaldurasi:Number = okie_sound.length;
var durasi_isplaying:Number = okie_channel.position;
var persentasi:Number = 100 * (durasi_isplaying/totaldurasi); // *type dijadikan number saja , jangan int
song_slider.pink_bar.width = persentasi*5;
song_slider.knop.x = persentasi*5;
}

Pada kode ini kita memberikan listener saat ENTER FRAME , yaitu saat flash player menjalan kan file kita dalam hal ini pasti flash player menjalankan file kita frame demi frame, jadi pada saat itulah kita memberikan fungsi EnterFrame.
Di sana kita menset total durasi dari mp3 kita, kemudian juga ada durasi_isplaying, yaitu posisi mp3 / durasi saat sedang memutar lagu.
Dengan kita mengetahui durasi keseluruhan dan durasi saat sedang dimainkan, maka kita dapat membuat prosentase.
Masih ingatkah saat kita membuat sebuah symbol dengan instance name ‘song_slider’? nah dalam symbol ‘song_slider’ kita memiliki sebuah symbol lagi dengan instance name ‘pink_bar’. Untuk membuat ‘pink_bar’ singkron dengan lagu yang kita mainkan maka kita menset width ( lebar ) dari ‘pink_bar’ agar sesuai dengan prosentase. Lalu kenapa dikalikan 5? Yup, maksimal prosentasi adalah 100, padahal lebar slider kita 500 px, jadi pada kejadian ini kita mengalikannya dengan 5 supaya ada kesesuain.
Kemudian kita juga menset knop.x , yaitu kita mensetting jarak x pada knop, knop adalay sebuah symbol yang terletak di dalam ‘song_slider’ .
Oke, masih banyak kode kode yang sebetulnya harus kita bahas, tapi saya yakin, kode yang saya tulis sangat simple, sangat mudah untuk dipahami. Jadi tidak perlu saya jelaskan lebih jauh, nah sekarang tinggal test movie, klick menu movie -> test.
Demikian tutorial dari saya, semoga bermanfaat dan kita berjumpa kembali pada tutorial saya selanjutnya. ^_^

=========================================

Judul : Membuat slider atau scrubber untuk file mp3
Software : Adobe Flash ( di sini saya menggunakan Adobe Flash CS5 )
Deskripsi : Dalam tutorial kali ini kita akan membahas cara membuat slider atau scrubber untuk file mp3
Tanggal dibuat :  2 September  2010
NB : “ah, sangat sulit memahami tutorial bila divisualkan secara text, bila anda berminat  saya sarankan untuk mempelajari video tutorialnya di Youtube  dengan mencarinya di search,  anda dapat mendownloadnya dengan sangat mudah menggunakan IDM ( Internet Download Manager ) “
PDF Download : http://www.4shared.com/document/v2eO4pB2/FLASH_no8_Membuat_slider_atau_.html
Download source Sample : http://www.4shared.com/file/vKm_T9Gt/CODE-_Flash_no8_Membuat_slider.html

0 Responses to “Flash no.8 : Membuat slider atau scrubber untuk file mp3”



  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s





%d bloggers like this: