JMF : End of Media Event

By deptz, Thu. November 13, 2008
Categories: dari hati ke hati, java, tutorial
Tags: , , , , , ,
795 views

Malam ini saya dikagetkan dengan sms dari Ali yang mengatakan bahwa Kalkulus I ada tugas yang harus dikumpul besok pagi. What??!!! Pikiran saya ‘terganggu’ sejenak, tapi sejurus kemudian sudah kembali ‘normal’.. 🙂

Kemudian saya pun melanjutkan pencarian saya mengenai Java Media Framework, bagaimana mendeteksi kalau sebuah media(video/audio) telah selesai dimainkan. Saya ingin membuat sebuah aplikasi yang akan menampilkan sesuatu ketika sebuah video selesai dimainkan. Pertama saya berpikir bagimana memperoleh durasi total video tersebut, dan juga current time video yang sedang dimainkan. Dan ketika current time==durasi, maka berarti video telah selesai dimainkan. Akan tetapi sekitar dua jam saya mengutak-ngatik script, ternyata tidak bisa sesuai yang saya harapkan.

Dan setelah sholat isya, saya mendapatkan pencerahan. Tanpa sengaja saya menemukan sebuah class EndOfMediaEvent. Class ini akan mendeteksi kalau sebuah media selesai diplay. Voilaa!!! Yang saya cari dari tadi ternyata sudah disediakan oleh JMF. hmm… memang kita harus sering-sering menjelajah manual (Read The F****** Manual (RTFM)!!!).

Misalnya saja potongan kode dibawah ini:

playernya.addControllerListener(new ControllerListener() {
public void controllerUpdate(ControllerEvent zit) {
if (zit instanceof EndOfMediaEvent){
System.out.println(“selesai”);
playernya.close();
zet.validate();

}
}
});

NB: playernya adalah class Player yang digunakan untuk play video. zet adalah class Container, tempat menampilkan video.

Beberapa saat kemudian selesailah kode sesuai yang saya inginkan. Walaupun ketika digabung dengan deretan kode yang lain masih eror. Hahaha.. Hal ini semakin menantang saya bagaimana mencari solusinya. Hmm.. Tapi cukup untuk malam ini. Saya sudah ngantuk. Semoga dalam mimpi memperoleh pencerahan.

*zzzzz…PR KALKULUS I!!!!*
Lupakan saja…hahaha…

Comments