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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? playercanvas.java

?? 手機(jī)語(yǔ)音開(kāi)發(fā)
?? JAVA
字號(hào):
/* * * 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);    }}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一级成人av| 亚洲国产精品一区二区尤物区| 91精品国模一区二区三区| 在线免费不卡视频| 色88888久久久久久影院按摩| www.欧美精品一二区| 成人免费精品视频| 成人午夜av影视| 成人a区在线观看| 不卡av电影在线播放| 成人白浆超碰人人人人| 国产.欧美.日韩| 成人97人人超碰人人99| caoporm超碰国产精品| av午夜精品一区二区三区| 成人app软件下载大全免费| bt7086福利一区国产| 日本久久一区二区三区| 欧美亚洲国产一卡| 777欧美精品| 欧美电影免费观看高清完整版在线观看 | 中文字幕成人在线观看| 国产视频911| 国产精品久久久久久久久动漫| 亚洲欧洲一区二区三区| 亚洲欧美激情一区二区| 亚洲香蕉伊在人在线观| 欧美aa在线视频| 国产精品影视在线观看| 不卡电影免费在线播放一区| 91麻豆swag| 91超碰这里只有精品国产| 欧美一级国产精品| 久久精品夜色噜噜亚洲aⅴ| 国产精品嫩草99a| 一区二区在线电影| 视频一区国产视频| 国产一区二区视频在线| 99国产精品国产精品毛片| 欧美手机在线视频| 日韩欧美精品在线视频| 国产精品久久夜| 亚洲国产成人tv| 国产又黄又大久久| 91麻豆福利精品推荐| 欧美一区二区三区在线电影| 国产亚洲人成网站| 亚洲一二三级电影| 欧美三级电影网站| 精品91自产拍在线观看一区| 中文字幕在线观看不卡视频| 日韩av电影天堂| 成人美女视频在线看| 欧美日韩一区二区不卡| 国产午夜亚洲精品午夜鲁丝片| 亚洲美女区一区| 韩国精品主播一区二区在线观看 | 国产一区二区视频在线| 91蝌蚪porny| 精品久久久久一区| 一区二区三区精品在线| 国内精品国产成人国产三级粉色 | 欧美色精品在线视频| 久久网站热最新地址| 亚洲一二三区视频在线观看| 国产高清精品网站| 欧美精品自拍偷拍动漫精品| 国产精品毛片久久久久久| 日韩电影免费在线观看网站| 99国产精品99久久久久久| 精品欧美乱码久久久久久| 亚洲精品中文在线| 国产福利91精品一区二区三区| 欧美电影在线免费观看| 亚洲欧洲精品一区二区三区| 国产一二三精品| 欧美日韩国产大片| 亚洲视频一区在线| 国产不卡一区视频| 日韩欧美一二三四区| 亚洲午夜成aⅴ人片| av爱爱亚洲一区| 国产欧美日韩不卡| 激情图区综合网| 日韩三级视频在线看| 亚洲午夜私人影院| 99精品久久只有精品| 久久久久久久久蜜桃| 蜜桃视频在线一区| 欧美精品日韩精品| 亚洲综合在线第一页| 99久久精品情趣| 中文字幕不卡在线| 国产精品99精品久久免费| 日韩欧美一级在线播放| 日韩黄色在线观看| 欧美日韩国产免费一区二区| 亚洲精品美国一| 91丨porny丨蝌蚪视频| 国产精品久久久久一区二区三区| 国产成人精品免费网站| 久久久电影一区二区三区| 精品一区二区三区免费毛片爱| 正在播放一区二区| 丝袜亚洲另类欧美| 欧美日本不卡视频| 手机精品视频在线观看| 欧美男生操女生| 蜜臀av国产精品久久久久 | 国产亚洲欧美日韩俺去了| 韩国女主播成人在线观看| 久久综合网色—综合色88| 极品销魂美女一区二区三区| 精品国产乱码久久久久久老虎 | 久久99精品久久久久久动态图 | 欧美视频在线观看一区二区| 一区二区三区成人| 欧美综合在线视频| 亚洲va天堂va国产va久| 884aa四虎影成人精品一区| 日本亚洲一区二区| 欧美精品一区二区久久婷婷| 国产一区二区调教| 国产精品美女久久福利网站| 91亚洲永久精品| 香蕉久久一区二区不卡无毒影院 | 成人妖精视频yjsp地址| 国产精品精品国产色婷婷| 91在线视频18| 午夜影院久久久| 精品国产一二三区| 成人午夜免费av| 一卡二卡欧美日韩| 91麻豆精品国产自产在线观看一区| 秋霞影院一区二区| 国产日韩欧美一区二区三区乱码| 97久久超碰国产精品电影| 亚洲国产成人av网| 欧美精品一区二区三区在线| www.亚洲色图.com| 午夜欧美电影在线观看| 精品国产一区二区精华| 99视频热这里只有精品免费| 亚洲成人黄色影院| 欧美精品一区二区久久婷婷| 99精品热视频| 蜜臀精品一区二区三区在线观看| 欧美韩日一区二区三区| 色欧美乱欧美15图片| 免费xxxx性欧美18vr| 国产精品欧美综合在线| 欧美日韩夫妻久久| 国产精品69久久久久水密桃| 一区二区三区.www| 久久免费国产精品| 在线观看视频91| 国产伦精一区二区三区| 玉足女爽爽91| 久久精品一区二区三区av| 在线精品视频免费播放| 国内成人免费视频| 亚洲一区二区三区视频在线播放 | 精品动漫一区二区三区在线观看| 91视频一区二区三区| 蜜臀精品一区二区三区在线观看 | 精品一区免费av| 一区二区三区成人| 国产欧美日本一区视频| 9191国产精品| 色综合中文综合网| 99久久99久久久精品齐齐| 日韩电影在线一区二区三区| 亚洲欧洲av在线| 久久影院午夜片一区| 欧美久久一区二区| 91女神在线视频| 高清国产午夜精品久久久久久| 亚洲成av人**亚洲成av**| 中文字幕中文字幕在线一区| 久久综合色一综合色88| 欧美男生操女生| 在线一区二区三区| 不卡的av电影在线观看| 韩国v欧美v日本v亚洲v| 丝袜亚洲精品中文字幕一区| 亚洲激情第一区| 中文字幕一区不卡| 中文字幕第一区第二区| 欧美精品一区视频| 日韩免费观看2025年上映的电影| 亚洲三级电影网站| 国产三级一区二区三区| 日韩精品在线一区| 91精品国产aⅴ一区二区| 91久久精品日日躁夜夜躁欧美| www.亚洲色图| 风流少妇一区二区| 国产精品99久久久久久宅男| 国内成人精品2018免费看| 美国一区二区三区在线播放|