Audio Player [MP3] in J2ME

Bikin aplikasi untuk memutar file mp3 di ponsel. "Gimana caranya Dy?". Setelah aku cari-cari tau (karena kebetulan dapat project yang harus munculin suara juga), dapat deh, setelah aku coba, YAPPARI..! berhasil, hehe. Ohya, tapi aplikasi ini hanya bisa dijalankan di emulator SDK 3.0, waktu aku coba di SDK 2.5.2, ga bisa jalan, kenapa ya? Ada yang tau?

Sintaksnya, disini :


import java.io.InputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.HttpConnection;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.List;
import javax.microedition.media.Manager;
import javax.microedition.media.Player;
import javax.microedition.media.control.VolumeControl;
import javax.microedition.midlet.*;


/**
 * @author dyah
 */
public class AudioMidlet extends MIDlet
        implements CommandListener, Runnable {


    private Display mDisplay;
    private List mMainScreen;
    VolumeControl vc;
    Player player;


    public void startApp() {
        mDisplay = Display.getDisplay(this);


        if (mMainScreen == null) {
            mMainScreen = new List("AudioMIDlet", List.IMPLICIT);


            mMainScreen.append("Via HTTP", null);
            mMainScreen.append("From resource", null);
            mMainScreen.addCommand(new Command("Exit", Command.EXIT, 0));
            mMainScreen.addCommand(new Command("Play", Command.SCREEN, 0));
            mMainScreen.setCommandListener(this);
        }


        mDisplay.setCurrent(mMainScreen);
    }


    public void pauseApp() {
    }


    public void destroyApp(boolean unconditional) {
    }


    public void commandAction(Command c, Displayable s) {
        if (c.getCommandType() == Command.EXIT) {
            notifyDestroyed();
        } else {
            Form waitForm = new Form("Loading...");
            mDisplay.setCurrent(waitForm);
            Thread t = new Thread(this);
            t.start();
        }
    }


    public void run() {
        try {
            InputStream is = getClass().getResourceAsStream("/eye.mp3");
            player = Manager.createPlayer(is, "audio/mpeg");
//            InputStream in = getClass().getResourceAsStream("/bib.wav");
//            player = Manager.createPlayer(in, "audio/x-wav");


            player.realize();
            // get volume control for player and set volume to max
            vc = (VolumeControl) player.getControl("VolumeControl");
            if (vc != null) {
                vc.setLevel(100);
            }
            player.prefetch();
            player.start();
//            player.stop();
        } catch (Exception e) {
            showException(e);
        }
    }


    private void showException(Exception e) {
        Alert a = new Alert("Exception", e.toString(), null, null);
        a.setTimeout(Alert.FOREVER);
        mDisplay.setCurrent(a, mMainScreen);
    }
}

Selamat mencoba, semoga bermanfaat.
Ohya, jangan lupa untuk meletakkan file lagunya dalam satu folder atau satu package dengan source codenya.

Komentar

  1. Skrinsyutnya kyak gimana tuh Mbak?

    BalasHapus
  2. mbak*.. kalo ngepost itu, sebelume dicoba dulu... cacad nih orang...

    BalasHapus
    Balasan
    1. mas*, sudah dicoba ya sebelumnya.. :)
      tapi diantara 2 SDK yang berhasil hanya di SDK 3.

      lagipula saya coding pake versi lama, entah kalo ada pembaharuan di versi berikutnya :)

      Hapus
    2. @Setiono Kalo komen yang sopan, jgan asal ngomongin orang cacad, kalo elu emang tau n paham coba perbaiki kesalahanya apa...
      jgan asal ceplos...
      @dyah : mksh infonya mbak...

      Hapus
    3. @burhan: sama2... :) makasih sudah berkunjung.. :)

      Hapus
    4. @Setiono
      Hargai orang Bos,
      kecewa kalo ente ga bisa coding ya? berarti bisa ditebak otak ente yg ca....
      Lain kali otaknya dipake yg bener buat komentar, kasihan klo orang tua ente tau mulut anaknya ga bisa dijaga.

      Hapus
  3. thanks sharenya mbak dyah,

    BalasHapus

Posting Komentar

Terima kasih sudah membaca....^^