Catatan Seorang Prajurit Kecil

Ikon

biarlah semua itu berjalan sesuai "skenario" NYA – jika kau telusuri, semua logika itu akan kau temukan

Menentukan Durasi Musik dalam Format WAV Menggunakan Java


Sudah lama tidak posting, kali ini saya coba posting tulisan singkat namun biasanya cukup bermanfaat. Kita bisa menghitung durasi dari sebuah musik dengan tipe file WAV menggunakan java, caranya sederhana yaitu seperti berikut:

Pertama tentukan file WAV, dengan menggunakan script berikut:

File soundFile = new File("/home/zulvani/temp/test.wav");

Dalam hal ini saya mengarahkan file ke path: /home/zulvani/temp dengan nama file test.wav. Tentu saja path nya harus disesuaikan dimana Anda menyimpan file nya, jika menggunakan Windows cara penulisannya adalah seperti berikut, misalnya file WAV nya berada di drive D, maka penulisannya: D:\\test.wav (gunakan tanda \\ sebanyak 2x, hal ini dikarenakan tanda pertama adalah sebagai penanda bahwa tanda di depannya itu adalah karakter)

Kemudian buat object AudioInputStream untuk menampung stream dari file WAV tersebut, dengan script berikut:

AudioInputStream inputStream = AudioSystem.getAudioInputStream(soundFile);

Dengan object ini, kita bisa mengetahui informasi panjang frame dari WAV file, kemudian kita membutuhkan satu informasi lagi yaitu sample rate, untuk mendapatkan sample rate ini kita bisa menggunakan object dari class AudioFormat, berikut scriptnya:

AudioFormat audioFormat = inputStream.getFormat();

Oke, sampai sini kita siap melakukan perhitungan, berikut cara menghitung durasinya:

long duration = ((long) inputStream.getFrameLength()) / ((long) audioFormat.getSampleRate());

Hasil durasi adalah dalam satuan detik, jadi misal duration yang dihasilkan = 233, itu berarti durasi musik adalah 3 menit 53 detik, didapat dari 60 x 3 = 180 detik + 53 detik.

Semoga bermanfaat

Filed under: Java, Programing, ,

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: