⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 playmedia.java

📁 一个J2ME游戏,单机玩拼图游戏 ,游戏难度分为简单、一般、困难。简单是把一张图片分成了4块
💻 JAVA
字号:
package util;

import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.media.control.VolumeControl;
import javax.microedition.rms.RecordStore;
import java.io.IOException;
import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;

/**
 * Created by IntelliJ IDEA.
 * User: robai
 * Date: 2007-2-26
 * Time: 21:25:46
 * To change this template use File | Settings | File Templates.
 */
public class PlayMedia {

    public static String RECORD_STORE_NAME = "";


    public void playTone() {
        try {
            Manager.playTone(60, 200, 90);
        } catch (MediaException e) {
            System.out.println(e);
        }
    }

    public Player createPlayer(String url) throws Exception {
        Player player = null;
        try {
            if (url.startsWith("http:"))
                player = Manager.createPlayer(url);

            else if (url.startsWith("resource")) {
                int pathIndex = url.indexOf(":");
                String path = url.substring(pathIndex + 1);
                InputStream in = this.getClass().getResourceAsStream(path);
                player = Manager.createPlayer(in, getSongType(url));

            } else if (url.startsWith("rms:")) {
                boolean created = false;
                InputStream stream = null;
                while (stream == null) {
                    try {
                        RecordStore rs = RecordStore.openRecordStore(RECORD_STORE_NAME, false);
                        byte[] adata = rs.getRecord(1);
                        rs.closeRecordStore();
                        stream = new ByteArrayInputStream(adata);
                        break; // exit while loop
                    } catch (Exception ex) {
                        // record store not found
                    }
                    if (created) {
                        // already tried to create record store!
                        throw new Exception("Could not create and open record store!");
                    }
                    created = true;
                    createMyRecordStore(url, RECORD_STORE_NAME);
                }
                String ctype = getSongType(url);
                player = Manager.createPlayer(stream, ctype);

            }
            player.setLoopCount(1);
            player.realize();
            return player;
        } catch (MediaException e) {
            System.out.println(e);
        } catch (IOException e) {
            System.out.println(e);
        } catch (Exception e) {
            if (null != player) {
                player.close();
                player = null;
            }
            e.printStackTrace();
        }
        return null;
    }


    private String timeFM(long val) {
        String ret = "";
        int mval = (int) (val / 1000);
        int sec = mval / 1000;
        int min = sec / 60;
        if (min >= 10)
            ret = ret + min + ":";
        else if (min > 0)
            ret = "0" + min + ":";
        else
            ret = "00:";

        if (sec >= 10)
            ret = ret + sec + ".";
        else if (sec > 0)
            ret = ret + "0" + sec + ".";
        else
            ret = ret + "00.";

        mval = (mval % 1000) / 100;
        ret = ret + mval;

        return (ret);
    }


    private String getSongType
            (String
                    url) throws Exception {
        if (url.endsWith("mpg") || url.endsWith("avi"))
	        return "video/mpeg";
        else if (url.endsWith("wav"))
            return "audio/x-wav";
        else if (url.endsWith("jts"))
            return "audio/x-tone-seq";
        else if (url.endsWith("mid") || url.endsWith("kar"))
            return "audio/midi";
        else if (url.endsWith("amr"))
	        return "audio/amr";
        else if (url.endsWith("awb"))
	        return "audio/amr-wb";
	     else if (url.endsWith("gif"))
	        return "image/gif";

        else
            throw new Exception("Cannot guess content type from URL: " + url);
    }

    private void createMyRecordStore
            (String
                    url, String
                    name) {
        try {
            int idx = url.indexOf(':');
            String loc = url.substring(idx + 1);
            InputStream is = getClass().getResourceAsStream(loc);
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            byte[] tmp = new byte[1024];
            int nread;

            while ((nread = is.read(tmp, 0, 1024)) > 0) {
                baos.write(tmp, 0, nread);
            }
            byte[] data = baos.toByteArray();

            is.close();
            // create a RecordStore
            RecordStore rs = RecordStore.openRecordStore(name, true);
            rs.addRecord(data, 0, data.length);
            rs.closeRecordStore();
            System.out.println("created record store '" + name + "' with contents of " + loc);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -