Buat Aplikasi MP3 Player Sederhana dengan Flash+AS2


Memanfaatkan kemampuan Flash yang dapat memainkan file MP3 dengan cara membuat Sound object (di AS2, favoritku ;p), saya pernah iseng2 membuat versi cupu dari aplikasi MP3 player.. BTW, tau Winamp kan? nah aplikasi semacam ini yang saya istilahkan sebagai MP3 player (versi kerennya sih 😀 ), yah.. meskipun yang pernah saya buat tersebut hasilnya masih berupa fitur-fitur dasar sederhana: load file-file MP3, next track, previous track, tampilan informasi MP3nya, dan tampilan playlist (supaya user bisa memilih file MP3 yang ingin dimainkan dengan mengkliknya di playlist).

Cara buatnya, Flash dibuat memanjang ke bawah (biar rada mirip Winamp), simpan 3 buah movieclip yang sama (dimana di dalamnya terdapat sebuah dynamic text dengan instance name “teks“) namun diberikan instance name berbeda yaitu “browse_btn“, “kanan_btn“, dan “kiri_btn” (ketiganya akan berperan sebagai tombol untuk load files, play next track, dan play previous track). Sebuah dynamic text dengan instance name “tulisan_txt” (yang akan menampilkan nama artist, judul, dan ukuran waktu MP3 berjalan dimana informasi ini diambil dari ID3 tags MP3nya). Di bawahnya lagi sebagai tampilan playlist digunakan sebuah List Component dengan instance name “cmp_playlist“. Menyusul kemudian, baris ActionScriptnya disimpan di frame:

import flash.net.FileReferenceList;

var playlist:Array = new Array(0);
var musik:Sound = new Sound();
var angka:Number = new Number(0);
var fileRefList:FileReferenceList = new FileReferenceList();
var listenerFileRefList:Object = new Object();
var listHandler:Object = new Object();

fscommand("showmenu", false);
kanan_btn.onPress = kanan;
kiri_btn.onPress = kiri;
browse_btn.onPress = browseFile;
browse_btn.teks.text = "load";
kiri_btn.teks.text = "prev";
kanan_btn.teks.text = "next";
fileRefList.addListener(listenerFileRefList);
cmp_playlist.addEventListener("change", listHandler);
cmp_playlist.setStyle("fontFamily", "corbel");
cmp_playlist.setStyle("fontSize", "12");
tulisan_txt.text = "load file MP3 terlebih dulu..\n (maaf, di versi cupu ini, file MP3nya mesti sefolder sama aplikasinya)";

listHandler.change = function(evt:Object){
    if(angka != evt.target.selectedItem.data){
		angka = evt.target.selectedItem.data;
		loadMusik();
	}
}

musik.onSoundComplete = function(){
	kanan();
}

musik.onLoad = function(success:Boolean){
	if (success){
		musik.start();
	}
	else{
		tulisan_txt = "salah load file";
	}
}

listenerFileRefList.onSelect = function(file:FileReferenceList){
	for(var i = 0; i < file.fileList.length; i++){
		var filePilihan = file.fileList[i].name;
		if(filePilihan.substr(-3, 3) == "mp3"){
			cmp_playlist.addItem({label:filePilihan, data:playlist.length});
			playlist.push(filePilihan);
		}
	}
	loadMusik();
}

function browseFile(){
	fileRefList.browse([{description:"Ingat: file MP3 sefolder saja! (maklum versi cupu)", extension:"*.mp3"}]);
}

function loadMusik(){
	musik.loadSound(playlist[angka], true);
}

function kanan(){
	if(playlist.length < 1){
		tulisan_txt.text = "load filenya dulu woi..\n(tombolnya di bawah playlist)";
	}
	else{
		angka += 1;
		if(angka >= playlist.length){
			angka = 0;
		}
		loadMusik();
	}
}

function kiri(){
	if(playlist.length < 1){
		tulisan_txt.text = "load filenya dulu woi..\n(tombolnya di bawah playlist)";
	}
	else{
		angka -= 1;
		if(angka <= 0)	{
			angka = playlist.length - 1;
		}
		loadMusik();
	}
}

this.onEnterFrame=function(){
	var posisi:String = musik.position.toString();
	var durasi:String = musik.duration.toString();
	var artist:String = musik.id3.artist.toString();
	var judul:String = musik.id3.songname.toString();
	var menitPlaying:String = Math.floor(posisi/60000) + ":" + Math.round((posisi/1000)%60);
	var menitTotal:String = Math.floor(durasi/60000) + ":" + Math.round((durasi/1000)%60);

	if(playlist.length >= 1){
		tulisan_txt.text = artist + " - " + judul + "\n" + menitPlaying + " / " + menitTotal;
	}
}

Preview

Mohon maaf kalau kodenya terlihat tidak efisien, nampak buggy, dan sulit dibaca algoritmanya acak-acakan 😀 yang penting fungsional dulu lah ya.. 8) Tekan Ctrl+Enter untuk melihat preview movie.

Namun ada keterbatasan yang cukup mengganggu dari aplikasi yang saya buat ini, yaitu:

Cuman bisa menjalankan file MP3 yang sefolder dengan SWF-nya, klo gak: undefined -__-‘

Zzzzz.. Mungkin saya salah cara ngakses file dari objek FileReferenceList? atau sistem sandbox objek Sound yang tidak memperbolehkan loadSound diluar direktori?.. Anybody knows how can I play MP3 files that’s stored anywhere, so it could be like a real MP3 player? please share… Any improvement welcome..

Bagi yang berminat untuk melihat contoh aplikasinya (.exe) sila unduh di http://www.box.net/shared/30010rjlmf

***

Referensi terkait:

  • http://flash-reference.icod.de/flash/net/FileReferenceList.html
  • http://flash-reference.icod.de/Sound.html
  • Tips Trik Flash, Tabloid PC-Mild Edisi 6/2010
  • Akses Serial Port di Linux


    Tau program HyperTerminal kan? kalau komputernya Windows XP bisa dilihat di Start Menu > Accessories > Communications > HyperTerminal (dengan asumsi waktu nginstall windows paket instalasi standarnya diinstall semua).

    Ini nih HyperTerminal tuh.. (gambar ngambil dari gugel)

    Kalaulah dulu saya tidak mengambil mata kuliah yang ada praktikum pake HyperTerminalnya (lupa praktikum apaan :p) mungkin saya yang gaptek ini tidak akan tahu apa gunanya program misterius bernama HyperTerminal di Windows itu, dan dengar-denger katanya tidak dimasukkan lagi sejak munculnya Windows Vista dan Windows 7 hehe.. Padahal banyak juga loh device yang salah satu akses konfigurasinya lewat port serial RS-232. Lanjutkan membaca “Akses Serial Port di Linux”

    Google Chrome Sudah Dapat Di Download


    Update pas sahur barusan: Akhirnya Google Chrome sudah tersedia untuk dicoba download, http://www.google.com/chrome/?hl=en, karena itu maka tulisan kemarin ini yang sudah tidak berlakunya saya corat-coret saja 8)

    Buka blog pakek Google Chrome. Tipis dan ringan, jadi serasa gak pakek browser...

    ——————–

    Lagi rame2nya ini browser terbaru keluaran google dicari-cari. Kemarin nyari2 tempat downloadnya gak ketemu 😕 ternyata memang Google belum menyediakan link downloadnya (halah 😈 ) dan versi beta-nya  katanya akan tersedia untuk didownload dalam waktu dekat..  sudah tersedia untuk didownload (itupun baru untuk Windows saja)

    So check in again tomorrow to try Google Chrome for yourself. We’ll post an update here as soon as it’s ready. (kata official blognya google kemaren)

    Google Chrome now live
    In yesterday’s post on Google Chrome, we promised to let you know when it would be available for everyone to try — and that time is now.
    (kata official blognya google barusan)

    Menurut beberapa sumber, link tempat downloadnya itu ada di http://www.google.com/chrome atau  di http://gears.google.com/chrome/?hl=en (mana sih yg bener? 😕 dua2nya bener ternyata :mrgreen: )

    Screenshot penampakan Google Chrome yang berkeliaran di banyak web yang membahas tentang Google Chrome

    Banyak sekali halaman2 web yang membahas tentang browser baru ini, intinya Google Chrome ini merupakan proyek open source browser dengan basisnya Webkit (sama seperti Safari dan Konqueror), punya JavaScript Virtual Machine baru bernama V8 yang katanya paling canggih, udah terinstall add-on Google Gears secara default, masang tabnya di atas address bar (gak dibawah seperti browser biasanya), dan yang teramat berbeda adalah si Google Chrome ini menggunakan konsep multi-process, dimana setiap tab dan plugin masing2 memiliki process sendiri (ditambah dengan konsep sandboxing pula). Lebih jelasnya coba deh baca di http://blogoscoped.com/google-chrome penjelasannya unik karena berbentuk komik jadi enak dibaca dan lebih mudah dipahami 😀 disitu dijelasin paradigma baru mengenai peran browser saat ini dengan semakin berkembangnya aplikasi web dan bla.. bla.. bla.. sehingga lahirlah Google Chrome ini…

    ——————-

    Barusan googling dengan browser kesayangan, FireFox 3, dan  menemukan sebuah situs yang ngasih countdown downloadnya Google Chrome di http://www.freechromethemes.com/DownloadGoogleChrome.php, ternyata dirilisnya masih 4 jam 45 menit lagi.. 😦 karena tulisan ini dibuat 2 September 2008 jam 11.15an WIB (waktu Indonesia bagian Bandung), berarti linknya baru available 3 September 2008 sekitar Jam 04.30an WIB (waktu Indonesia bagian Bandung).. kita buktikan nanti apakah si situs ini bener atau bohong.. soalnya soalnya official blognya google aja nggak ngasih tau kapan rilisnya 8) .. sekarang saya mau tidur dulu, tolong bangunin sahur ya.. Zzz

    Kalau situs ini bener, berarti di Bandung mungkin sekitar waktu Imsak dan Subuh.. 😀

    Zzz.. yang tahu berita benernya silakan komentar, terutama seputar info kapan dan dimana google chrome download available.. zzZZ

    Karena tulisan yg kemaren (waktu belum bisa download) sudah tidak relevan, jadi gpp saya corat-coret 8)

    Download FireFox 3 Sekarang?


    Memang masih versi RC1 sih, tapi menarik juga baca arti “Release Candidate“:

    For Mozilla it means what says in the label: unless there is some major bug reported for this release, the “release candidate” part will just be dropped form the name and become Firefox 3 final.

    Otherwise, additional candidates will be released until the desired level of stability is attained.

    Download Mozilla FireFox 3 RC1 ini di http://www.mozilla.com/en-US/firefox/all-rc.html tersedia untuk platform Windows, Mac, dan Linux.

    yah, gak ada salahnya mencicipi dulu versi terbaru dari web browser terbaik ini, sambil nunggu FireFox 3 Final version yang mungkin baru keluar Juni hehe.. 😀

    This Firefox 3 Release Candidate is a preview release of Mozilla’s next generation Firefox browser and is being made available for testing purposes only.

    Bahan bacaan lain: Full review dari Firefox3 RC1, Release Notes FF3, What’s New in Firefox 3

    Instant Messenger Di Jaringan ITB


    Minggu kemaren baca koran hari apa gitu, yang sumbernya klo gak salah dari sini: http://www.itb.ac.id/news/2069 (aneh juga tuh koran milih beritanya, cuman penting bwt mhs sini aja kyknya 😆 ). Di rileks juga ada thread yg bahas ini, cuman gak terlalu jelas. Jadi intinya di ITB sedang dikembangkan sebuah layanan baru berupa sebuah server untuk IM (chatting gitulah) di im.itb.ac.id yang loginnya sama dengan akun AI3 masing2 (dan pastinya sama dengan email students masing2, semua juga punya kan?). Jadi kalau misalkan saya punya akun email di faisalman@students.itb.ac.id maka saya bakal punya akun juga untuk IM di faisalman@im.itb.ac.id, hebatnya lagi ternyata biar AI3 lagi expire (gak diperpanjang, lg males beli vouchernya >_< ), ternyata saya tetep bisa login hehe.. hore..

    Yah, setidaknya ada 2 cara untuk masuknya ke IM ini, pertama lewat webnya http://im.itb.ac.id, masukin user sama passwd AI3/students.

    asyiknya disini bisa ngesearch nama atau username, misalkan nyari usernamenya Aep :

    yeah ketemu nih, tinggal di-add ke contact list, jadi kalau sama2 online keliatan (^^)V.

    cara berikutnya bisa pake software bwt IM kayak Pidgin dan semacamnya. settingannya juga sederhana: buat sebuah akun login dengan protocol XMPP, terus diset domainnya ke im.itb.ac.id, terus username sama passwdnya sama seperti akun AI3/students masing2.

    wow keren ya, tapi sayangnya… kosong !!! gak ada seorangpun yg online !!! (eh emang sayanya yg belum nge-add siapa2 sih :P, tapi emang ada gitu yg ol?). Trendnya sekarang jelas lebih milih IM pake yahoo. Secara paling banyak yg online gitu 😀 terus juga ym kan tetep bisa jalan tanpa proxy, (selama ini lancar2 aja ym-an pake pidgin tanpa make AI3, soalnya lg expire belum diperpanjang udah brapa bulan ini.. hehe..).

    Asyiknya si Pidgin ini selain ada versi portablenya (bisa dibawa2 di flashdisk) dia juga bisa multiple login, online di banyak IM sekaligus semisal ym, gtalk, icq, atau xmpp (yg dipake sama im.itb ini) secara bersamaan. yah siapa tau ke depannya banyak yg online dengan cara gini, setidaknya saya bisa hemat waktu dan SMS :P.

    Kasih semangatlah (kalo gak mau ngasi duit) untuk developernya, biar ditambahin terus nih layanannya :mrgreen:

    ** nggak kerasa udah sebulan blog ini nggak diupdate 😯 **

    Efek Desktop Keren Untuk Windows


    Dibandingkan Linux atau Mac, Windows XP rasanya kurang eye catching, tapi gimana yah gak mau pake Vista orang cuman mau ngubah tampilan doang :P. Tenang saudara-saudara 8) setelah blog ini berhibernasi hampir sebulan dengan postingan tidak bermutu, kali ini saya sediakan software yang keren untuk windows:

    1. DeskSpace
    Bagi yang familiar dengan dunia linux, mungkin tidak asing dengan desktop yang banyak. Nah, software yang namanya DeskSpace ini menyediakan 6 virtual desktop yang bisa dipakai untuk membuka aplikasi yang berbeda, prinsipnya sebenarnya memperluas area kerja. Kerennya yaitu switch desktopnya pake animasi 3D cube effect, wow efek 3D di Windows XP :

    oh iya, jangan tertipu penampilan desktop saya yang mirip Mac, ini bener-bener Windows XP lho 😉 cuman dipermak aja skinnya ama ditambahin dock (emang gila ngehack desktop ini).

    lihat artikel ini deh 😀

    2. TopDesk
    Software yang ini kloning efek Flip3D Aero-nya Vista dan efek Expose-nya Mac. keren ini buat ngegaya waktu pindah-pindah aplikasi. orang di sebelah nanya: lho ini windows apa?

    efek Flip3D di Windows XP 😀 :

    efek Expose di Windows XP 😀 :

    Sayangnya, keduanya tidak freeware tapi bisa dicoba trialnya di situsnya: DeskSpace, TopDesk, Saya sih kebetulan aja kemaren ketemu yang fullversionnya (bukan trialnya) di ftp://167.205… 😀 tapi klo mau yg legal ada freewarenya DeskSpace namanya yodm3d, silakan lah googling.

    Beberapa software buat desktop keren lainnya:

    RK Launcher iVista Leopard, ini software bukan sembarang dock tapi mirip seperti docknya Mac OS X 10.5, udah ada fitur stacknya:

    Y’z Shadow, efek bayangan di window (seperti Vista) dan efek transparansi di menu

    Rainlendar, Yahoo! Widget, Google Sidebar, dll.. keren ni buat ngisi desktop dengan aplikasi (pengganti dashboardnya Mac/sidebarnya Vista)

    Oh iya, saya TIDAK menyarankan software-software ini diinstall di komputer KALAU resource tidak mencukupi/miskin RAM, bakalan ngelag lah 8)

    Akhirul kalam, berdasarkan subjektifitas saya, efek desktop terkeren itu tetep Linux+Compiz.. ngiler lah liatnya 😀 hehe.. Desktopnya Mac nan menawan aja gak sekeren itu, apalagi Aeronya Windows Vista (hardware reqnya aja tuh gede) … 😀 eh tapi ini subjektif loh ya 😉 .. sayangnya si SiS ini bandel banget arggh gak bisa nyobain compiz fusion di Lappie!

    Blogged with Flock

    Mengubah Tampilan Windows Mirip Mac


    Buat yang gak punya mekbuk, tapi ingin iseng-iseng buat tampilan windowsnya mirip mac seperti desktop saya :P. yang saya namakan xp+tiger+leopard fusion ini:

    desktoplaptop.jpg

    berikut ini beberapa link yang mungkin berguna… (hehe kasih link aja,,lagi males buat bikin artikelnya >_<)
    http://www.aialex.com/2007/11/28/how-to-make-your-windows-desktop-look-and-feel-like-a-mac-desktop/
    http://www.aqua-soft.org/board/index.php?s=bae387eb6eba57836d19e29ebf691a75
    http://www.markraats.com/Apple_Emulation.htm
    http://www.osx-e.com/
    http://www.osx-e.com/forum/showthread.php?t=2112
    http://www.osx-e.com/articles/emulation_manuals_-_chapter_1_the_appearances.html
    http://anoos.deviantart.com/art/XP-Leopard-Tutorial-67207472

    selamat menikmati 😀

    Kumpulan Windows Freeware #1


    Halaman ini saya sediakan bagi para pecinta software gratisan.. meskipun gratisan, kualitasnya tidak kalah dengan software berbayar, beberapa diantaranya bahkan jauh lebih baik… atau setidaknya ya alternatif saja lah. Dan karena ini hanya pilihan Saya, jadi semua software yang ada di list ini bukan berarti yang terbaik untuk Anda hehehe… Lanjutkan membaca “Kumpulan Windows Freeware #1”