亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? playercanvas.java

?? MIDP2 Audio Demo.Play the audio on J2ME. This is written for MIDP2
?? JAVA
字號:
/* * * Copyright (c) 2007, Sun Microsystems, Inc. * * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * *  * Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. *  * Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. *  * Neither the name of Sun Microsystems nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */package example.audiodemo;import java.io.*;import javax.microedition.lcdui.*;import javax.microedition.media.*;import javax.microedition.media.control.*;import javax.microedition.midlet.*;import javax.microedition.rms.*;/** * The component for AudioPlayer. * It will create a player for the selected url, play and display * some properties of the player. * * Use star key to increase the volume, pound key to decrease the volume * **/public class PlayerCanvas extends Canvas implements Runnable, CommandListener {    private static final String RECORD_STORE_NAME = "adrms";    private Player player;    private Thread dThread;    private Object dThreadLock = new Object();    private Object pauseLock = new Object();    private boolean interrupted;    private boolean paused;    private Image logo = null;    private Display parentDisplay;    private Command backCommand = new Command("Back", Command.BACK, 1);    private Command playCommand = new Command("Play", Command.ITEM, 1);    private Command pauseCommand = new Command("Pause", Command.ITEM, 10);    private String title;    private String url;    private String mtime;    public PlayerCanvas(Display parentDisplay) {        super();        this.parentDisplay = parentDisplay;        initialize();    }    private void initialize() {        this.addCommand(backCommand);        this.addCommand(pauseCommand);        setCommandListener(this);        try {            logo = Image.createImage("/icons/Duke.png");        } catch (Exception ex) {            logo = null;        }        if (logo == null) {            System.out.println("can not load Duke.png");        }    }    /*     * simple implementation, not reflected actual state     * of player.     */    public void commandAction(Command c, Displayable s) {        if (s == this) {            if (c == backCommand) {                stopSound();                removeCommand(playCommand);                addCommand(pauseCommand);                parentDisplay.setCurrent(AudioPlayer.getList());            } else if (c == playCommand) {                playSound();                removeCommand(playCommand);                addCommand(pauseCommand);            } else if (c == pauseCommand) {                pauseSound();                removeCommand(pauseCommand);                addCommand(playCommand);            }        }    }    public void setParam(String url) {        this.url = url;        int idx = url.lastIndexOf('/');        title = url.substring(idx + 1);    }    public void playSound() {        if ((title == null) || (url == null)) {            return;        }        // player was paused        if (player != null) {            // wake up paused thread            synchronized (pauseLock) {                paused = false;                pauseLock.notify();            }            try {                player.start();            } catch (MediaException me) {                me.printStackTrace();            }            return;        }        // start new player        synchronized (dThreadLock) {            stopSound();            interrupted = false;            paused = false;            mtime = "";            dThread = new Thread(this);            dThread.start();        }    }    public void stopSound() {        synchronized (dThreadLock) {            try {                interrupted = true;                // wake up thread if it is paused                synchronized (pauseLock) {                    pauseLock.notify();                }                if (dThread != null) {                    dThreadLock.wait();                }            } catch (InterruptedException ie) {                // nothing            }        }    }    void pauseSound() {        try {            if (player != null) {                // pause player                player.stop();                paused = true;            }        } catch (MediaException ex) {            ex.printStackTrace();        }    }    public boolean isPlaying() {        return (player != null) && (player.getState() >= Player.STARTED);    }    private static String guessContentType(String url)        throws Exception {        String ctype;        // some simple test for the content type        if (url.endsWith("wav")) {            ctype = "audio/x-wav";        } else if (url.endsWith("jts")) {            ctype = "audio/x-tone-seq";        } else if (url.endsWith("mid")) {            ctype = "audio/midi";        } else {            throw new Exception("Cannot guess content type from URL: " + url);        }        return ctype;    }    void createPlayer() {        try {            if (url.startsWith("http:")) {                player = Manager.createPlayer(url);            } else if (url.startsWith("resource")) {                int idx = url.indexOf(':');                String loc = url.substring(idx + 1);                InputStream is = getClass().getResourceAsStream(loc);                String ctype = guessContentType(url);                player = Manager.createPlayer(is, ctype);            } 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 = guessContentType(url);                player = Manager.createPlayer(stream, ctype);            }            player.setLoopCount(-1);        } catch (Exception ex) {            if (player != null) {                player.close();                player = null;            }            Alert alert = new Alert("Warning", "Cannot create player", null, null);            alert.setTimeout(1000);            parentDisplay.setCurrent(alert);        }    }    /**     * Create a record store for the given 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();        }    }    public void paint(Graphics g) {        int w = getWidth();        int h = getHeight();        g.setColor(0);        g.fillRect(0, 0, w, h);        g.setColor(0xFF7f00);        g.drawString("Audio Player", w / 2, 8, Graphics.TOP | Graphics.HCENTER);        if (logo != null) {            g.drawImage(logo, w / 2, 30, Graphics.TOP | Graphics.HCENTER);        }        g.setColor(0xFF7f00);        g.drawString("Audio Player", w / 2, 8, Graphics.TOP | Graphics.HCENTER);        g.drawString(title, w / 2, 84, Graphics.TOP | Graphics.HCENTER);        g.drawString(mtime, 0, 150, Graphics.TOP | Graphics.LEFT);    }    public void run() {        /*         * method playSound() runs on GUI thread.         * Manager.createPlayer() will potentially invoke a blocking         * I/O. This is not the good practice recommended by MIDP         * programming style. So here we will create the         * Player in a separate thread.         */        createPlayer();        if (player == null) {            // can't create player            synchronized (dThreadLock) {                dThread = null;                dThreadLock.notify();                return;            }        }        try {            player.realize();            long dur = player.getDuration();            if (dur != -1) {                title = title + " [" + timeFM(dur) + "]";            }            player.start();        } catch (Exception ex) {        }        // mtime update loop        while (!interrupted) {            try {                mtime = timeFM(player.getMediaTime());                repaint(0, 110, 100, 170);                Thread.sleep(100);            } catch (Exception ex) {            }            // pause the loop if player paused            synchronized (pauseLock) {                if (paused) {                    try {                        pauseLock.wait();                    } catch (InterruptedException ie) {                        // nothing                    }                }            }        }        // terminating player and the thread        player.close();        player = null;        synchronized (dThreadLock) {            dThread = null;            dThreadLock.notify();        }    }    protected void keyPressed(int keycode) {        switch (keycode) {        case KEY_STAR:            changeVolume(-10);            break;        case KEY_POUND:            changeVolume(10);            break;        }    }    private void changeVolume(int diff) {        VolumeControl vc;        if (player != null) {            vc = (VolumeControl)player.getControl("VolumeControl");            if (vc != null) {                int cv = vc.getLevel();                cv += diff;                cv = vc.setLevel(cv);            }        }    }    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);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97精品久久久午夜一区二区三区| www国产亚洲精品久久麻豆| 国产一区二区女| 蜜桃视频一区二区三区| 香蕉久久夜色精品国产使用方法| 一区二区三区日韩| 亚洲主播在线观看| 亚洲高清免费一级二级三级| 亚洲成人www| 激情综合色丁香一区二区| 美女视频免费一区| 韩国精品免费视频| 国产成人在线影院| 91在线观看视频| 欧美日韩一区国产| 欧美老肥妇做.爰bbww| 91麻豆精品国产| 精品国产sm最大网站免费看| 国产欧美一区二区精品性色| 日韩一区欧美一区| 日韩精品免费专区| 国产剧情一区二区三区| 97精品久久久久中文字幕| 欧美日韩国产乱码电影| 精品剧情v国产在线观看在线| 精品99一区二区| 亚洲欧美另类在线| 久久精品国产99国产精品| 不卡的电影网站| 91福利精品视频| 日韩精品自拍偷拍| 国产精品国产三级国产a| 亚洲成人自拍网| 国产精品资源网| 欧美影院一区二区| 久久综合999| 亚洲国产欧美日韩另类综合| 黄色日韩网站视频| 欧美偷拍一区二区| 欧美—级在线免费片| 天天操天天综合网| av不卡在线播放| 欧美v日韩v国产v| 亚洲在线观看免费| 成人a免费在线看| 欧美草草影院在线视频| 亚洲午夜久久久久中文字幕久| 韩日精品视频一区| 7777精品伊人久久久大香线蕉的| 亚洲欧美综合色| 韩国成人在线视频| 亚洲欧美日本在线| 国产精品香蕉一区二区三区| 宅男在线国产精品| 一区二区免费看| av激情亚洲男人天堂| 精品国产91九色蝌蚪| 天天综合天天做天天综合| av色综合久久天堂av综合| 久久婷婷综合激情| 美女网站色91| 欧美男男青年gay1069videost| 亚洲欧洲日产国码二区| 国产精品一区在线| 欧美va日韩va| 蜜桃久久av一区| 91精品久久久久久久91蜜桃 | 亚洲国产综合色| 91同城在线观看| 中文字幕在线不卡| 成人午夜激情在线| 日本一区二区三区dvd视频在线| 久久99九九99精品| 精品久久久三级丝袜| 久久9热精品视频| 久久一区二区视频| 国产黑丝在线一区二区三区| 久久婷婷久久一区二区三区| 久久成人免费电影| 精品对白一区国产伦| 激情伊人五月天久久综合| 亚洲精品在线电影| 国产成人免费视频一区| 国产欧美日韩视频一区二区| youjizz国产精品| 亚洲免费观看在线观看| 欧美在线小视频| 视频一区二区三区在线| 欧美成人一区二区| 国产乱妇无码大片在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 99精品偷自拍| 石原莉奈在线亚洲三区| 日韩美女视频在线| 国产不卡在线一区| 亚洲欧美日韩国产综合在线| 欧美三级乱人伦电影| 久久草av在线| 国产精品狼人久久影院观看方式| 色综合欧美在线视频区| 蜜桃av噜噜一区| 国产精品视频你懂的| 欧美日韩色综合| 国产精品99久久久久久似苏梦涵 | 国产精品久久影院| 欧美午夜精品电影| 麻豆精品视频在线观看| 日本一区二区三区国色天香 | 蜜臀精品久久久久久蜜臀| 国产色一区二区| 欧美丝袜丝交足nylons| 美女性感视频久久| 亚洲欧洲www| 欧美一区二区免费观在线| 国产成人精品亚洲日本在线桃色| 亚洲人成7777| 精品久久久久久久久久久久包黑料| 欧美日韩一区小说| 成人激情黄色小说| 蜜臀久久久99精品久久久久久| 日韩毛片一二三区| 欧美va亚洲va在线观看蝴蝶网| 色综合欧美在线| 国产乱对白刺激视频不卡| 亚洲影视在线播放| 国产三级精品视频| 日韩亚洲欧美在线| 91福利视频久久久久| 成人网男人的天堂| 韩国av一区二区三区四区| 午夜精品福利在线| 综合欧美亚洲日本| 国产日韩精品视频一区| 欧美一级久久久久久久大片| 一本色道综合亚洲| av电影在线不卡| 成人免费高清在线| 国产精品自拍av| 久久99精品久久久久久久久久久久 | 欧洲一区在线电影| 成人午夜视频网站| 国产成人亚洲综合a∨婷婷图片| 亚洲国产精品人人做人人爽| 亚洲天堂免费在线观看视频| 国产免费久久精品| 日本一区二区视频在线| 久久精品视频在线看| 26uuu另类欧美亚洲曰本| 日韩欧美自拍偷拍| 日韩一区二区电影网| 欧美久久久久久久久中文字幕| 欧美在线观看一区二区| 欧美亚洲高清一区二区三区不卡| 北岛玲一区二区三区四区| 99久久99久久精品免费观看| av中文字幕在线不卡| 91国产成人在线| 欧美日韩精品一区二区三区四区 | 国产亚洲精品bt天堂精选| 久久久久免费观看| 国产欧美综合在线| 国产精品女同互慰在线看| 一区在线观看视频| 亚洲乱码日产精品bd| 亚洲亚洲精品在线观看| 亚洲成人资源在线| 麻豆精品在线视频| 成人一区二区三区在线观看| youjizz国产精品| 在线国产电影不卡| 欧美丰满嫩嫩电影| 欧美va日韩va| 亚洲欧洲成人av每日更新| 亚洲国产综合在线| 精品一区二区免费视频| 国产一区二区影院| 色综合久久久网| 日韩亚洲欧美在线观看| 国产午夜精品一区二区三区嫩草 | 精品视频在线视频| 精品国产一区二区三区忘忧草| 中文子幕无线码一区tr| 亚洲一区二区三区四区的| 麻豆精品国产91久久久久久| 成人午夜视频在线观看| 欧美色偷偷大香| 久久一区二区视频| 一区二区成人在线| 国产一区二区视频在线播放| 色综合色综合色综合 | 激情欧美日韩一区二区| a美女胸又www黄视频久久| 在线电影院国产精品| 国产精品盗摄一区二区三区| 青娱乐精品视频| 97久久精品人人爽人人爽蜜臀| 欧美电影免费观看高清完整版在线观看| 中文字幕在线一区免费| 青青草国产精品亚洲专区无| 91香蕉视频mp4|