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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ballcanvas.java

?? 用來測(cè)試手機(jī)java的音效程序,是我作手機(jī)開發(fā)的時(shí)候?qū)懙?
?? JAVA
字號(hào):
/*
 * @(#)BallCanvas.java	1.9 02/08/15 @(#)
 *
 * Copyright (c) 1999-2002 Sun Microsystems, Inc.  All rights reserved.
 * PROPRIETARY/CONFIDENTIAL
 * Use is subject to license terms.
 */

package com.qualcomm.demo.sound;

import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;

public class BallCanvas extends Canvas implements CommandListener, PlayerListener {

    private Display display;
    private Player player;

    private int[] notes = {68, 72, 70, 74, 76};
    private int[] colors = {0xff, 0xff00, 0xff0000, 0xffff, 0xff00ff};

    // a set of free roaming balls
    private SmallBall[] balls;
    private int numBalls;
    private int width, height;
    private boolean paused;
    private int bg;

    private Command backCommand = new Command("Back", Command.BACK, 1);
    private Command pauseCommand = new Command("Pause", Command.BACK, 1);
    private Command playCommand = new Command("Play", Command.BACK, 1);

    private boolean playerCreated;

    public BallCanvas(Display d, int maxBalls, int bg) {
        display = d;
        this.bg = bg;

        // initialize the array of balls
        balls = new SmallBall[maxBalls];

        width = getWidth();
        height = getHeight();

        playerCreated = initPlayer(bg);

        // Start with one ball
        balls[0] = new SmallBall(this, 0, 0,width,height-12, bg);
        balls[0].setColor(colors[0]);
        numBalls = 1;
        paused = true;

        this.addCommand(backCommand);
        this.addCommand(pauseCommand);
        setCommandListener(this);
    }

    boolean needAlert() {
        return (!playerCreated);
    }


    boolean initPlayer(int bg) {
        try {
            switch (bg) {
            case 1: // wave bg
                player = Manager.createPlayer(BBall.wavbgUrl);
                player.setLoopCount(-1);
                break;
            case 2: // tone seq bg
                {
                    byte d = 8;
                    byte C4 = ToneControl.C4;
                    byte D4 = ToneControl.C4 + 2; // a whole step
                    byte E4 = ToneControl.C4 + 4; // a major third
                    byte G4 = ToneControl.C4 + 7; // a fifth
                    byte rest = ToneControl.SILENCE; // eighth-note rest

                    byte[] mySequence = new byte[] {
                        ToneControl.VERSION, 1,
                            ToneControl.TEMPO, 30,
                            ToneControl.BLOCK_START, 0,
                            E4,d,D4,d,C4,d,D4,d,E4,d,E4,d,E4,d,rest,d,
                            ToneControl.BLOCK_END,0,
                            ToneControl.PLAY_BLOCK,0,
                            D4,d,D4,d,D4,d,rest,d,E4,d,G4,d,G4,d,rest,d,//play "B" section
                            ToneControl.PLAY_BLOCK,0, // content of "A" section
                            D4,d,D4,d,E4,d,D4,d,C4,d,rest,d// play "C" section
                            };
                    player = Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR);
                    player.realize();
                    ToneControl c = (ToneControl)player.getControl("ToneControl");
                    c.setSequence(mySequence);
                    player.setLoopCount(2);
                }
                break;
            case 3: // jts file bg
                player = Manager.createPlayer(BBall.jtsFileUrl);
                player.realize();
                break;
            case 4: // jts stream bg
                player = Manager.createPlayer(BBall.jtsStreamUrl);
                player.realize();
                break;
            default:
                player = null;
            }

            if (player != null) {
                //player.setLoopCount(-1);
                player.addPlayerListener(this);
                player.start();
            }
        } catch (Exception ex) {
            if ( player != null )
                player.close();
            player = null;
            return false;
        }

        return true;
    }

    /**
     * Draws the drawing frame (which also contains the ball) and the
     * controls.
     */
    protected void paint(Graphics g) {
        // Draw the frame
        g.setColor(0xffffff);
        g.fillRect(0,0, width-1, height-1);
        g.setColor(0);
        g.drawRect(0+1,0+1,width-2,height-2);

        // Draw each ball
        for(int i = 0; i < numBalls; i++) {
            balls[i].paint(g);
        }
    }

    /**
     * Handle a pen down event.
     */
    public void keyPressed( int keyCode) {

        int action = getGameAction(keyCode);

        switch (action) {
        case LEFT:
            // Reduce the number of threads
            if (numBalls > 0) {

                // decrement the counter
                numBalls = numBalls - 1;

                // stop the thread and remove the reference to it
                balls[numBalls].stop = true;
                balls[numBalls] = null;
            }
            break;

        case RIGHT:
            // Increase the number of threads
            if (numBalls < balls.length) {

                // create a new ball and start it moving
                balls[numBalls] = new SmallBall(this, 0, 0, width,height-12, bg);
                balls[numBalls].setNote(notes[numBalls]);
                balls[numBalls].setColor(colors[numBalls]);

                new Thread(balls[numBalls]).start();

                // increment the counter
                numBalls = numBalls + 1;
            }
            break;

        case UP:
            // Make them move faster
            SmallBall.faster();
            break;

        case DOWN:
            // Make them move slower
            SmallBall.slower();
            break;
        }
        repaint();
    }

    /**
     * Destroy
     */
    void destroy() {
        // kill all the balls and terminate
        for (int i = 0; i < balls.length; i++) {
            if (balls[i] != null) {
                balls[i].stop = true;
                balls[i] = null;
            }
        }
        numBalls = 0;
        if ( player != null) {
            player.close();
            player = null;
        }
        BBall.getInstance().game = null;
    }


    /*
     * Return whether the canvas is paused or not.
     */
    boolean isPaused() {
        return paused;
    }

    /**
     * Pause the balls by signaling each of them to stop.
     * The ball object still exists and holds the current position
     * of the ball.  It may be restarted later.
     * the current thread will be terminated.
     */
    void pause() {
        if (!paused) {
            paused = true;
            for (int i = 0; i < balls.length && balls[i] != null; i++) {
                balls[i].stop = true;
            }

            try {
                if (player != null)
                    player.stop();
            } catch (MediaException e) {
                // There's nothing much we can do here.
            }
        }
        repaint();
    }

    /*
     * Start creates a new thread for each ball and start it.
     */
    void start() {
        if (paused) {
            paused = false;
            // display.setCurrent(this);
            for (int i = 0; i < balls.length && balls[i] != null; i++) {
                Thread t = new Thread(balls[i]);
                // System.out.println("Ball " + i + " starts...");
                t.start();
            }

            if ( player != null) {
                try {
                    player.start();
                } catch (Exception ex) {}
            }

            repaint();
        }
    }

    public void commandAction(Command c, Displayable s) {
        if (c == backCommand) {
            destroy();
            display.setCurrent(BBall.getList());
        } else if ( c == pauseCommand) {
            pause();
            removeCommand(pauseCommand);
            addCommand(playCommand);
        } else if ( c == playCommand) {
            removeCommand(playCommand);
            addCommand(pauseCommand);
            start();
        }
    }

    public void playerUpdate(Player player, String event, Object eventData)
    {
      if (event == PlayerListener.END_OF_MEDIA)
      {
        System.out.println("END_OF_MEDIA received");
        
        while (numBalls < balls.length)
        {
          // create a new ball and start it moving
          balls[numBalls] = new SmallBall(this, 0, 0, width,height-12, bg);
          balls[numBalls].setNote(notes[numBalls]);
          balls[numBalls].setColor(colors[numBalls]);
          new Thread(balls[numBalls]).start();
          // increment the counter
          numBalls = numBalls + 1;
        }
        
      }
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线这里只有精品| 91小视频免费看| 欧美日韩国产色站一区二区三区| 久久嫩草精品久久久久| 亚洲成人动漫在线观看| 成人午夜电影网站| 91精品国产综合久久久久久 | 99热99精品| 久久婷婷综合激情| 舔着乳尖日韩一区| 91国偷自产一区二区开放时间| 久久亚洲精精品中文字幕早川悠里| 亚洲成人精品一区| 色婷婷综合视频在线观看| 国产日韩欧美一区二区三区综合| 日本一不卡视频| 91豆麻精品91久久久久久| 国产精品人成在线观看免费 | 亚洲狼人国产精品| 国产成人av影院| 2021中文字幕一区亚洲| 蜜桃视频一区二区| 在线播放91灌醉迷j高跟美女 | 久久人人爽爽爽人久久久| 日本不卡的三区四区五区| 91精品1区2区| 亚洲精品第一国产综合野| 成人精品视频一区| 中文子幕无线码一区tr| 国产精品一区二区男女羞羞无遮挡 | 日本成人在线视频网站| 欧美亚洲综合另类| 亚洲精品欧美专区| 91色|porny| ...xxx性欧美| 99视频国产精品| 极品瑜伽女神91| 欧美一区二区三区啪啪| 日韩va欧美va亚洲va久久| 欧美精品一二三区| 日精品一区二区三区| 欧美日本一道本| 午夜精品久久久久| 制服丝袜成人动漫| 日本va欧美va精品发布| 欧美一区二区三区免费视频| 蜜桃视频免费观看一区| 欧美成人午夜电影| 国产乱子轮精品视频| 久久久精品免费网站| 粉嫩aⅴ一区二区三区四区五区| 国产日产欧产精品推荐色| 高清av一区二区| 亚洲欧美在线视频观看| 一本大道av一区二区在线播放| 亚洲欧美日韩国产成人精品影院| 色香色香欲天天天影视综合网| 一区二区三区电影在线播| 欧美日韩国产首页在线观看| 日本成人在线电影网| 精品国产精品网麻豆系列| 国产一区二区在线看| 国产精品久久久久久久久晋中| 色综合中文字幕国产| 亚洲精品一二三| 欧美电影一区二区三区| 久久福利视频一区二区| 亚洲国产精品成人综合色在线婷婷| 成人国产免费视频| 夜夜揉揉日日人人青青一国产精品| 欧美日韩亚洲另类| 极品少妇xxxx精品少妇偷拍| 国产欧美精品一区二区色综合 | 久久成人av少妇免费| 久久嫩草精品久久久精品| 成人av网在线| 亚洲一区二区中文在线| 欧美一级在线视频| 国产成人超碰人人澡人人澡| 一区二区三区在线免费观看| 制服.丝袜.亚洲.另类.中文| 国产伦精一区二区三区| 亚洲美女免费在线| 日韩一卡二卡三卡| 成人国产视频在线观看| 午夜激情久久久| 国产亚洲精品7777| 91麻豆国产精品久久| 美女视频免费一区| 国产精品日韩精品欧美在线| 欧美日韩国产一级| 国产不卡在线播放| 亚洲高清在线视频| 久久久99精品久久| 精品1区2区3区| 国产成人午夜99999| 亚洲国产裸拍裸体视频在线观看乱了| 精品国产乱码久久久久久牛牛 | 国产黄色精品网站| 亚洲亚洲精品在线观看| 久久久天堂av| 欧美日韩视频在线一区二区| 高清日韩电视剧大全免费| 香蕉加勒比综合久久| 国产精品美女一区二区在线观看| 在线观看成人免费视频| 国产精品一线二线三线| 亚洲va在线va天堂| 国产精品日产欧美久久久久| 日韩欧美在线影院| 91国产精品成人| 国产超碰在线一区| 久久精品国产精品亚洲精品| 亚洲欧美一区二区三区极速播放| 精品第一国产综合精品aⅴ| 欧洲精品一区二区| 成人午夜精品在线| 精品无人区卡一卡二卡三乱码免费卡 | 91麻豆精品一区二区三区| 国内外成人在线| 秋霞电影网一区二区| 亚洲视频一二三区| 久久精品日韩一区二区三区| 宅男噜噜噜66一区二区66| 一本久道久久综合中文字幕| 国产精品一区二区三区网站| 美女一区二区三区在线观看| 亚洲一区二区三区国产| 亚洲日本丝袜连裤袜办公室| 久久久不卡网国产精品一区| 日韩亚洲欧美综合| 欧美人牲a欧美精品| 91久久一区二区| 99久久精品国产麻豆演员表| 国产精品夜夜嗨| 久久爱www久久做| 青青国产91久久久久久| 亚洲国产精品久久艾草纯爱| 日韩理论片网站| 国产精品久久福利| 日本一区二区三区四区| 久久综合国产精品| 精品人伦一区二区色婷婷| 日韩小视频在线观看专区| 欧美另类变人与禽xxxxx| 欧美色窝79yyyycom| 91激情五月电影| 欧亚一区二区三区| 色婷婷综合久色| 在线观看av一区| 91国偷自产一区二区开放时间 | 99麻豆久久久国产精品免费优播| 国产成人精品免费一区二区| 国产夫妻精品视频| 国产福利91精品| 国产盗摄女厕一区二区三区| 国产a视频精品免费观看| 国产精品1区2区3区在线观看| 国产高清在线精品| 国产91精品精华液一区二区三区 | 日本免费新一区视频| 丝袜美腿亚洲一区二区图片| 日本亚洲天堂网| 日本vs亚洲vs韩国一区三区二区 | 日日摸夜夜添夜夜添亚洲女人| 亚洲成人av电影| 亚洲成人激情av| 日韩国产高清影视| 麻豆高清免费国产一区| 国内精品久久久久影院色| 国产精品一线二线三线| 成人午夜精品一区二区三区| 91免费看`日韩一区二区| 色综合欧美在线视频区| 欧美性色黄大片| 8x福利精品第一导航| 精品国产网站在线观看| 国产网红主播福利一区二区| 中文字幕一区二区三中文字幕| 亚洲男人天堂av| 天堂精品中文字幕在线| 老司机精品视频一区二区三区| 国产一区二区三区日韩| 成人av电影在线网| 在线观看日韩电影| 日韩精品一区二区在线观看| 久久九九99视频| 亚洲免费av在线| 日韩福利视频网| 国产伦精品一区二区三区免费 | 成人精品国产福利| 91极品美女在线| 日韩亚洲欧美高清| 国产精品午夜免费| 亚洲国产精品久久人人爱蜜臀| 男人操女人的视频在线观看欧美| 国产91精品入口| 在线一区二区三区四区| 日韩精品最新网址| 国产精品毛片高清在线完整版|