Tampilkan postingan dengan label Multimedia. Tampilkan semua postingan
Tampilkan postingan dengan label Multimedia. Tampilkan semua postingan

Rabu, 08 Mei 2013

Perbedaan New Line dan Carriage Return (Difference of NL and CR)

Bro and sista yang suka otak atik program untuk baca-tulis file teks biasa (plain text atau ASCII text file) wajib baca link di bawah ini yang isinya perbedaan antara new line (\n) dengan carriage return (\r) terutama yang cross platform (Unix, Linux, MacOS, Windows) ... yuk langsung ke TKP :

http://stackoverflow.com/questions/3307747/difference-between-newline-and-carriage-return-r

Kamis, 10 Januari 2013

How to Play WAV Audio / Sound File with Java

Here is Java source code to play WAV audio / Sound play. There are two files; SoundEffect.java and SoundEffectDemo.java. SoundEffect file is enum and SoundEffectDemo is GUI based program which use SoundEffect enum.

SoundEffect.java

import java.io.*;
import java.net.URL;
import javax.sound.sampled.*;

public enum SoundEffect {

    EXPLODE("explode.wav"), // explosion
    GONG("gong.wav"), // gong
    SHOOT("shoot.wav"); // bullet

    public static enum Volume {
        MUTE, LOW, MEDIUM, HIGH
    }

    public static Volume volume = Volume.LOW;
    // Each sound effect has its own clip, loaded with its own sound file.
    private Clip clip;

    // Constructor to construct each element of the enum with its own sound file.
    SoundEffect(String soundFileName) {
        try {
            // Use URL (instead of File) to read from disk and JAR.
            URL url = this.getClass().getClassLoader().getResource(soundFileName);
            // Set up an audio input stream piped from the sound file.
            AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(url);
            // Get a clip resource.
            clip = AudioSystem.getClip();
            // Open audio clip and load samples from the audio input stream.
            clip.open(audioInputStream);
        } catch (UnsupportedAudioFileException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (LineUnavailableException e) {
            e.printStackTrace();
        }
    }

    // Play or Re-play the sound effect from the beginning, by rewinding.
    public void play() {
        if (volume != Volume.MUTE) {
            if (clip.isRunning()) {
                clip.stop();   // Stop the player if it is still running
            }
            clip.setFramePosition(0); // rewind to the beginning
            clip.start();     // Start playing
        }
    }

    // Optional static method to pre-load all the sound files.
    static void init() {
        values(); // calls the constructor for all the elements
    }
}

SoundEffectDemo.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
// Testing the SoundEffect enum in a Swing application
public class SoundEffectDemo extends JFrame {
    // Constructor
    public SoundEffectDemo() {
        // Pre-load all the sound files
        SoundEffect.init();
        SoundEffect.volume = SoundEffect.Volume.LOW;  // un-mute
        // Set up UI components
        Container cp = this.getContentPane();
        cp.setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10));
        JButton btnSound1 = new JButton("Sound 1");
        btnSound1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                SoundEffect.EXPLODE.play();
            }
        });
        cp.add(btnSound1);
        JButton btnSound2 = new JButton("Sound 2");
        btnSound2.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                SoundEffect.GONG.play();
            }
        });
        cp.add(btnSound2);
        JButton btnSound3 = new JButton("Sound 3");
        btnSound3.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                SoundEffect.SHOOT.play();
            }
        });
        cp.add(btnSound3);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setTitle("Test SoundEffct");
        this.pack();
        this.setVisible(true);
    }

    public static void main(String[] args) {
        new SoundEffectDemo();
    }
}

Screenshot :

Kamis, 25 November 2010

HTML 5, HTML dengan Berbagai Kelebihan

Bagi yang baru belajar atau yang baru mau belajar pemrograman web, berikut ini sejarah versi-versi HTML :
  1. HTML 1
  2. HTML 2
  3. HTML 3
  4. HTML 4
  5. HTML 4.01
  6. XHTML 1.0
  7. XHTML 1.1
  8. HTML 5
HTML 5 saat tulisan ini dibuat belum dirilis secara resmi oleh W3C (WWW Consortium) dan masih dalam tahap pengujian. Namun beberapa situs telah mengenalkan kelebihan-kelebihan HTML 5 dibandingkan dengan versi pendahulunya. Untuk contoh-contoh pemakain HTML 5 dapat dilihat di sini. Have enjoy it! Eh tunggu... tidak semua web browser mengenali HTML 5! disarankan sih pakai firefox 3.6+, Chrome 4+, Opera 10+ and Safari 4+

Senin, 10 Agustus 2009

Bitmap vs Vector dalam Animasi Flash

Saat pembuatan animasi multimedia menggunakan Flash, pemilihan elemen gambar yang tepat akan mempengaruhi hasilnya, dalam hal ini pemilihan format gambar yang akan digunakan. Apakah menggunakan bitmap atau vector.

Salah satu karakteristik gambar vector adalah tidak akan terjadi penurunan kualitas gambar jika dilakukan perubahan ukuran gambar, karena vector ditampilkan dari hasil kalkulasi matematis. Sedangkan gambar bitmap sebaliknya. Tetapi untuk animasi, gambar vektor kurang unggul dibandingkan gambar bitmap. Hal tersebut dikarenakan banyaknya kalkulasi matematis saat gambar dianimasikan. Terutama untuk animasi yang kompleks. Akibatnya jalannya animasi tidak terlalu cepat dibandingkan dengan animasi yang menggunakan gambar bitmap.

Untuk animasi yang tidak terlalu kompleks, pilihan masih bisa dijatuhkan kepada gambar vector, asalkan gambar yang dianimasi dibuat seminim-minimnya. Salah satu cara adalah mengurangi sudut-sudut yang tidak diperlukan.

Animasi dengan menggunakan gambar bitmap juga harus memperhatikan ukuran dari file gambar itu sendiri. Jangan sampai file Flash yang dibentuk, ukurannya menjadi besar hanya karena gara-gara gambar bitmap yang digunakan. Tips-nya adalah; optimasi dahulu gambar bitmap yang akan digunakan untuk animasi.